백엔드 엔지니어링수정 2026-08-29
되돌아오는 질문들 — 알림센터 설계 문답
알림센터 다섯 편의 마지막이다. 앞의 네 편이 주제별로 나눠 답한 것을 질문이 실제로 오는 세 자리로 다시 세운다 — 아직 아무것도 정하지 않은 「고를 때」, 이미 돌고 있는데 증상이 나온 「터졌을 때」, 그 판단의 근거를 남에게 대야 하는 「설명해야 할 때」다.
태그
4편
알림센터 다섯 편의 마지막이다. 앞의 네 편이 주제별로 나눠 답한 것을 질문이 실제로 오는 세 자리로 다시 세운다 — 아직 아무것도 정하지 않은 「고를 때」, 이미 돌고 있는데 증상이 나온 「터졌을 때」, 그 판단의 근거를 남에게 대야 하는 「설명해야 할 때」다.
알림센터 다섯 편의 지도다. 좋아요 한 번이 알림 한 줄이 되기까지 어떤 서버와 어떤 저장소를 지나는지, 그 경로를 왜 조회와 생성으로 쪼개고 사이에 브로커를 끼우는지, 그리고 「파티션」·「모듈」·「이벤트」처럼 편마다 다른 것을 가리키는 낱말을 이 시리즈에서 어떤 뜻으로 쓸지를 먼저 정한다.
수평으로 자르기로 정한 다음의 질문은 무엇을 기준으로 자를 것인가다. Range·Hash·List·Composite 네 전략이 각각 무엇을 사고 무엇을 내주는지, 인덱스를 로컬로 둘지 글로벌로 둘지, 조각이 머신 경계를 넘는 순간 무엇이 되돌릴 수 없게 되는지를 다룬다.
브로커를 끼워 넣으면 장애가 거꾸로 번지는 경로는 사라지지만 그 대가로 지연과 중복과 순서 뒤집힘이 청구된다. 토픽과 파티션이 무엇을 정하는지, 컨슈머를 늘려도 처리량이 늘지 않는 구간이 왜 생기는지, 오프셋을 언제 커밋하느냐가 전달 보장을 어떻게 바꾸는지를 차례로 본다. 이어서 순서가 지켜지는 범위와 중복을 견디는 도메인 설계, 끝내 실패하는 한 건을 줄 밖으로 빼내는 장치까지 다룬다.