AI Briefing

카카오, Fluentd 대체하는 자체 로그 수집기 'Logriver' 개발

·2024.12.04 00:00

핵심 내용

서버 자원 사용량 50% 절감 및 메모리 사용량 90%에서 15%로 대폭 감소

1 / 11

자세히 보기

카카오는 내부 로그 수집 시스템 kemi-log의 메인 컴포넌트인 Fluentd를 대체하기 위해 자체 개발한 로그 수집기 Logriver를 도입했다. 기존 Fluentd는 대규모 클러스터 관리 기능 부재, 설정 변경 시 프로세스 재시작 필요, 그리고 높은 메모리 사용량 등 구조적 한계가 있었다.

Logriver는 Go 언어 기반으로 개발되었으며, 중앙 컨트롤러와 에이전트 구조를 통해 무중단 설정 변경을 지원한다. Go의 고루틴과 SO_REUSEPORT를 활용하여 프로세스 재시작 없이 동적으로 설정을 업데이트할 수 있다. 또한, go-json 라이브러리를 적용해 데이터 인코딩/디코딩 성능을 최적화했다.

도입 후 달성한 주요 성과는 다음과 같다:

  • 메모리 사용량: 기존 90%에서 **15%**로 대폭 감소
  • 네트워크 커넥션: Kafka 연결 수를 4,000개에서 200개로 줄임
  • 서버 자원: 전체 서버 사용량 50% 절감
  • 운영 안정성: 버퍼 통합 관리 및 Rate Limiting 기능을 통해 DDoS 대응 및 장애 확산 방지

카카오는 Fluentd의 모든 기능을 재구현하는 대신, 실제 운영에 필수적인 기능만 선별적으로 내재화하는 전략을 채택하여 효율적인 마이그레이션을 완료했다.

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

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