PostgreSQL CDC 파이프라인, Kafka Connect로 단순화… ES 인덱싱 속도 47% 향상
핵심 내용
기존 복잡한 배치 기반 동기화 구조를 Debezium과 Strimzi 기반 Kafka Connect로 대체해 정합성 문제를 해결했다.
자세히 보기
10년간 운영된 콘텐츠 모니터링 시스템의 PostgreSQL에서 Elasticsearch로 이어지는 데이터 동기화 파이프라인이 Kafka Connect CDC 구조로 전면 개편됐다. 기존 방식은 큐 테이블, 배치 앱, RabbitMQ 등 다중 단계를 거쳐 장애 지점이 많고 원인 파악이 어려웠으나, 새로운 구조는 Debezium과 ES Sink Connector를 활용해 준실시간 동기화를 구현했다.
아키텍처 변경 및 기술 스택
새로운 파이프라인은 PostgreSQL의 Logical Decoding을 기반으로 한다. Debezium Source Connector가 WAL 변경 사항을 캡처해 Kafka로 전송하면, 중간 단계의 Python 앱이 비즈니스 로직에 맞게 데이터를 변환한다. 이후 ES Sink Connector가 Kafka 메시지를 컨슘해 Elasticsearch에 인덱싱한다. Kafka Connect는 Strimzi를 통해 Kubernetes 환경에 배포되며, 분산 모드에서 안정성을 확보한다.
주요 성과 및 개선 효과
파이프라인 단순화로 불필요한 의존성이 제거되어 장애 원인 파악이 용이해졌다. 특히 간헐적으로 발생하던 데이터 정합성 문제가 완전히 해소되었으며, ES 인덱싱 속도는 기존 대비 최대 47% 향상됐다. Debezium 설정 시 ByLogicalTableRouter를 활용해 여러 테이블의 이벤트를 단일 토픽으로 라우팅하고, ES Sink Connector에서는 schema.ignore 옵션으로 다이내믹 매핑을 적용해 유연성을 높였다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.