pile·
인프라 / DevOps·매드업매드업·

최적의 메시지 브로커를 찾아서

문제MADUP의 Prism은 K8s 환경에서 마이크로서비스가 비동기 메시지로 통신하는데, 처리 시간이 1~30분으로 들쭉날쭉하고 컨슈머 오토스케일·at-least-once 전달까지 동시에 만족시켜야 했다.
접근SQS는 visibility timeout 튜닝이 어렵고 중복 처리 로직이 늘어 포기. Kafka는 컨슈머 그룹 리밸런싱과 파티션 단위 병목이 긴 메시지 처리에 불리. 최종 선택한 RabbitMQ는 connection-based ack로 안정 전달, 리밸런싱 없이 컨슈머 스케일링, 메시지 단위 분배, 교환기 기반 라우팅으로 테넌트 격리·우선순위 큐까지 지원했다.
결과처리 시간 편차가 큰 워크로드에 RabbitMQ가 적합하다는 결론과 함께, 메시지 브로커 선택은 요구사항에 맞춰 반복 검증해야 한다는 운영 교훈으로 정리.
매드업
매드업 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 인프라 / DevOps·vercel-blogVercel Blog·

    Vercel CLI 드라이런 배포로 실제 배포 전 구성 미리 확인하기

    Vercel CLI v54.17.2부터 vercel deploy --dry 명령으로 실제 파일 업로드 없이 배포 구성을 미리 검사할 수 있다. 프레임워크 감지 결과, 포함/제외 파일 목록, 디렉터리 크기 분포, 콘텐츠 해시까지 사전에 확인하고 나서 배포를 결정할 수 있어 의도치 않은 배포 실패를 예방한다.

    #deployment#ci-cd#vercel-cli+1