메시지 브로커 도입으로 장애 격리와 운영 복잡도 균형 경험
팀 프로젝트에서 여러 서비스 사이에 메시지 브로커 미들웨어를 처음 도입해본 경험이 있습니다. 서비스가 직접 통신하던 구조에서 특정 서비스가 느려지면 호출자까지 블로킹되는 문제가 반복됐고, 이를 해결하기 위해 RabbitMQ를 중간에 두었습니다. 초기 설정에서 가장 까다로웠던 건 큐가 소비되지 않을 때 메시지가 쌓이는 문제였는데, Dead Letter Queue를 설정해 처리 실패 메시지를 별도 흐름으로 보내도록 했습니다.
미들웨어는 서비스를 분리하는 동시에 운영 복잡도를 새로 만든다는 점을 도입 후에야 실감했는데, 브로커 자체가 장애 단위가 되기 때문에 모니터링과 재처리 설계가 처음부터 필요했습니다. 지금도 비동기 아키텍처를 도입할 때 메시지 손실 시나리오를 먼저 그려보는 습관을 유지하고 있습니다.