AI Briefing

카카오, 실시간 메시징 시스템 '카리브' 성능 개선기 공개

·2024.12.12 00:00

핵심 내용

gobwas 버퍼링과 마샬링 최적화로 메시지 유실률 60% 감소 및 CPU 사용량 25% 절감

1 / 12

자세히 보기

카카오의 실시간 메시징 시스템 '카리브' 개발팀이 성능 개선 과정을 공개했습니다. pprof 분석을 통해 네트워크 I/O와 내부 메시지 전달 프로세스가 병목임을 확인하고, TCP_CORK의 시스템 콜 오버헤드 문제를 해결하기 위해 gobwas 라이브러리의 버퍼링 기능을 적용해 50ms 주기로 데이터를 flush하도록 수정했습니다. 또한, 수신자 수만큼 중복되던 메시지 마샬링을 Delivery 단계에서 1회만 수행하도록 개선하여 CPU 사용량을 약 25% 감소시켰습니다. JSON 라이브러리를 goccy/go-json으로 교체해 유실률을 2.5% 개선하고, 콜백 함수를 별도 고루틴으로 실행하도록 로직을 수정해 메시지 유실률을 기존 대비 약 60% 낮췄습니다. 이 외에도 Heap Escape와 Zero Allocation 등 Go 언어의 메모리 관리 특성을 분석하며 최적화 포인트를 도출했습니다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.