AI Briefing

카카오, 실시간 메시징 시스템 '카리브' v2 공개… Redis 부하 최소화 및 성능 향상

·2024.12.12 00:00

핵심 내용

카리브 v2는 Redis 부하를 1% 미만으로 줄이고, 2코어 VM에서 초당 60만 메시지를 무손실로 처리한다.

1 / 9

자세히 보기

카카오가 Go 언어 기반의 범용 실시간 메시징 시스템 **카리브(Carib)**의 v2 버전을 공개하며 개발 과정과 성능 개선 결과를 공유했다. 기존 라이브 서버는 서버당 10K 커넥션을 목표로 했으나, 리소스 과다 사용과 도메인 결합으로 인해 확장성이 떨어지고 2,000 커넥션부터 메시지 유실이 발생하는 한계가 있었다.

카리브 v2의 아키텍처 및 성능 개선

카리브 v2는 Redis 부하를 최소화하고 부하를 카리브 서버 자체로 분산하는 데 초점을 맞췄다. v1은 주기적 폴링으로 Redis에 부하가 집중되었으나, v2는 Redis Streams와 Singleflight 패턴을 활용해 불필요한 내부 폴링을 제거했다. 그 결과 동일 트래픽 환경에서 Redis CPU 사용량을 v1의 15%에서 1% 미만으로 대폭 낮췄다.

성능 테스트 결과, 2코어/4GB 사양의 VM에서 5,000 커넥션을 유지하며 초당 50건의 메시지를 전송할 때 SSE와 WebSocket 모두 0%의 유실율을 기록했다. 이는 v1 대비 메모리 사용량을 200MB 수준으로 줄이면서도 안정성을 확보한 수치다.

실제 운영 사례 및 확장성

추가 부하 테스트에서 6,000 커넥션 환경에서도 초당 60만 건의 메시지를 유실 없이 전달함을 확인했다. 실제 서비스 운영 중 2024년 8월 파리 올림픽 양궁 결승전 당시 단일 채널에 약 4만 명의 동시 접속자가 몰렸으나, 분당 수백 건의 메시지를 성공적으로 전달하며 시스템의 안정성을 입증했다.

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

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