
백엔드
Logstash에서 Debezium CDC로 전환한 이유
두줄요약
PostgreSQL 조인 검색을 Elasticsearch로 옮기며 Logstash 폴링과 Debezium CDC를 비교했습니다. 삭제 반영 문제를 해결하기 위해 WAL 기반 CDC와 검색 서비스 분리를 적용했습니다.
핵심 내용
- PostgreSQL 직접 검색에서 Elasticsearch 검색으로 전환한 배경과, 다국어 장소·콘텐츠 검색에서 LIKE 기반 조회의 한계 정리
- Logstash JDBC 폴링으로 초기 적재와 수정 반영은 가능했지만, 삭제 이벤트를 감지하지 못해 검색 결과 불일치가 발생한 문제 설명
- Debezium CDC로 전환해 WAL 변경 로그를 구독하고, 삭제 포함 모든 변경을 Kafka를 거쳐 Elasticsearch에 반영하는 구성으로 개선
- 검색 서비스 분리, nori 형태소 분석기 적용, 복제 슬롯 운영 시 주의점까지 함께 정리

