2026년 07월 12일
-
[채팅 백엔드 설계] 방이 두 pod에 흩어졌을 때 — RabbitMQ fan-out과 app_key 멀티테넌시
게이트웨이를 여러 pod로 늘리면 같은 방의 두 사용자가 서로 다른 인스턴스에 붙는다. RabbitMQ topic exchange에 인스턴스별 ephemeral 큐를 바인딩하고 origin 태그로 중복을 막는 fan-out, 그리고…
-
[채팅 백엔드 설계] 느린 클라이언트 하나가 방 전체를 막지 않게 — 샤딩·워커풀·drop-on-full
WebSocket 게이트웨이는 얇지만 단순하지 않다. 방 맵을 32개 샤드(FNV-1a)로 나눠 lock 경합을 줄이고, 방마다 워커풀 10 + 버퍼 큐 10000을 두고, 큐가 꽉 차면 blocking…