카프카를 활용한 검색 시스템에서 색인 속도 저하 문제 발생
max.poll 설정 변경 및 Batch Listener 적용을 통해 스루풋 개선
리밸런싱 문제 해결 및 메시지 처리 속도 향상 달성
카프카 컨슈머의 리밸런싱은 컨슈머 그룹 내 장애 발생 시 불가피하다. 구체적으로, `max.poll.records` 설정을 1로 변경하여 불필요한 리밸런싱을 방지했다. 따라서 컨슈머 장애 격리 및 안정적인 메시지 처리가 가능해졌다.
Record Listener는 메시지 1건씩 처리하여 오버헤드가 발생한다. Batch Listener를 적용하여 여러 건의 메시지를 묶어 처리하도록 변경했다. 반면, Batch 처리는 개별 메시지 실패 시 전체 롤백이 필요하다는 단점이 있다. 결과적으로 메시지 처리량 증가 및 색인 속도 향상을 달성했다.
현재 아키텍처는 레디스를 활용하여 복수의 메시지를 조합한다. 데이터 정합성을 위해 Write-Ahead Logging과 같은 기술을 고려할 수 있다. 따라서 데이터 무결성을 보장하고, 검색 성능을 더욱 향상시킬 수 있다.