배포 변경점 검증의 사각지대 — 캐시 캠페인 장애 회고
배포는 이틀 전에 끝났지만 변경점은 적용되지 않은 채 잠재해 있었다. 캐시 갱신 배치를 끄는 순간 광고 서빙이 멈췄다. 배포 변경점 검증의 부재를 회고한다.
배포는 이틀 전에 끝났지만 변경점은 적용되지 않은 채 잠재해 있었다. 캐시 갱신 배치를 끄는 순간 광고 서빙이 멈췄다. 배포 변경점 검증의 부재를 회고한다.
Container 오케스트레이션의 기본 구조와 백엔드 개발자가 알아야 할 핵심 오브젝트, 네트워크, 스케일링, 운영 방법을 정리한다.
Go의 동시성 모델은 CSP를 기반으로 Goroutine과 Channel을 핵심 도구로 제공한다. 각 도구의 동작 원리와 선택 기준을 정리한다.
같은 NoSQL 우산 아래에서 MongoDB 와 Redis 가 서로 다른 역할로 자리잡은 이유. 데이터 모델·스토리지·스키마·확장·사용 사례를 기준으로 비교 정리.
Spring MVC는 요청당 스레드를 할당한다. I/O 대기가 길어지면 스레드가 묶인다. WebFlux는 이벤트 루프 기반 논블로킹 모델로 이 문제를 해결한다. MVC와의 구조적 차이, Reactor 패턴, 선택 기준을 정리한다.
HTTP/1.1은 요청과 응답이 순차적이다. HTTP/2는 멀티플렉싱, 바이너리 프레이밍, 헤더 압축으로 이 구조를 바꿨다. 두 프로토콜의 차이와 HTTP/2 위에서 동작하는 gRPC의 특성을 정리한다.
Container의 개념과 VM과의 차이를 정리하고, Docker의 아키텍처, Dockerfile, Docker Compose의 기본 사용법을 설명한다.
코드를 기술 계층별로 나누는 수평 분할과, 기능/도메인별로 나누는 수직 분할의 차이를 정리한다. 각각의 장단점과 선택 기준.
Nest.js는 Node.js 생태계에서 DI 컨테이너와 Module 시스템을 프레임워크 수준에서 제공한다. IoC, DI, Module, Provider 등 핵심 설계 원칙을 정리한다.
레이어드 아키텍처는 기술적 책임 기준으로 코드를 수평 계층으로 나눈다. 4계층 구조의 각 역할, 의존성 방향 규칙, DIP로 계층 간 결합을 끊는 방법을 정리한다.