트래픽 처리 설계 포인트·경험 중심으로 푸는 결
마이크로서비스 환경에서 대규모 트래픽을 처리하는 설계는 직접 경험보다 수업과 개인 프로젝트에서 배운 방식을 중심으로 말씀드리겠습니다.
가장 중점을 두어야 하는 부분은 서비스 간 통신 설계라고 생각합니다. 동기 REST API만 쓰면 하나의 서비스 지연이 전체 응답 지연으로 번지기 때문에, 비동기 메시지 큐(`Kafka`·`RabbitMQ`)를 통해 느슨하게 연결하는 구조가 트래픽 급증에 더 유연하게 대응합니다. 또한 서비스별로 독립적인 데이터 저장소를 갖추면, 트래픽이 집중되는 서비스만 수평 확장할 수 있습니다.
개인 프로젝트에서 Docker Compose로 세 개 서비스를 올리고 Nginx로 로드 밸런싱을 실험했을 때, 하나의 서비스 컨테이너 수를 늘리는 것만으로 처리량이 개선되는 구조를 직접 확인했습니다. 이 경험에서 확장 전략을 설계 초반에 고려하는 것이 중요하다는 것을 배웠습니다.