컬리, 카프카 튜닝으로 검색 성능 UP!

by DD
3년 전
조회수 6

카프카를 활용한 검색 시스템에서 색인 속도 저하 문제 발생

max.poll 설정 변경 및 Batch Listener 적용을 통해 스루풋 개선

리밸런싱 문제 해결 및 메시지 처리 속도 향상 달성

카프카 컨슈머 리밸런싱 제어

카프카 컨슈머의 리밸런싱은 컨슈머 그룹 내 장애 발생 시 불가피하다. 구체적으로, `max.poll.records` 설정을 1로 변경하여 불필요한 리밸런싱을 방지했다. 따라서 컨슈머 장애 격리안정적인 메시지 처리가 가능해졌다.

Batch Listener를 통한 스루풋 개선

Record Listener는 메시지 1건씩 처리하여 오버헤드가 발생한다. Batch Listener를 적용하여 여러 건의 메시지를 묶어 처리하도록 변경했다. 반면, Batch 처리는 개별 메시지 실패 시 전체 롤백이 필요하다는 단점이 있다. 결과적으로 메시지 처리량 증가색인 속도 향상을 달성했다.

검색 시스템 아키텍처 개선 방향

현재 아키텍처는 레디스를 활용하여 복수의 메시지를 조합한다. 데이터 정합성을 위해 Write-Ahead Logging과 같은 기술을 고려할 수 있다. 따라서 데이터 무결성을 보장하고, 검색 성능을 더욱 향상시킬 수 있다.

컬리 검색이 카프카를 들여다본 이야기 1

댓글 0

첫 번째 댓글을 남겨보세요!