Debezium을 사용하여 이벤트 중심 마이크로서비스에서 변경 감지
1. Debezium: Debezium은 데이터베이스의 행 단위 변경을 캡처하여 실시간 이벤트 스트리밍을 가능하게 하는 오픈 소스 분산 플랫폼입니다. 다양한 데이터베이스와 원활하게 통합되며, 마이크로서비스가 데이터 레이어의 변경 사항과 동기화되도록 합니다. 2. 주요 기능: * 실시간 Change Data Capture * 다양한 데이터베이스 커넥터 지원 * 이벤트 기반 아키텍처와의 일치 * 높은 신뢰성과 확장성 3. 음식 배달 시스템 예시: * 주문 배치: 고객이 주문을 하면 Debezium이 데이터베이스의 주문 테이블 변경을 감지하고 Kafka 토픽으로 이벤트를 전송합니다. * 결제 처리: 결제 서비스가 주문 이벤트를 받고 결제를 처리한 후, 결제 테이블을 업데이트합니다. * 음식 준비: 레스토랑 마이크로서비스가 결제 이벤트를 받고 음식 준비 여부를 결정합니다. * 배달 및 그 이후: 다른 마이크로서비스가 관련 Kafka 토픽을 구독하여 주문 및 결제 이벤트에 반응합니다. 4. Debezium 설정: Debezium은 다양한 데이터베이스를 지원하며, 공식 문서를 통해 각 데이터베이스 커넥터에 대한 설치, 구성, 맞춤 설정 방법을 제공합니다. * https://debezium.io/ ** 함께 읽으면 좋은 글 * CDC 너두 할 수 있어(feat. B2B 알림 서비스에 Kafka CDC 적용하기) * https://techblog.woowahan.com/10000/ * 데이터 싱크를 위한 MSK Connect 도입 (feat : CDC 뽀개기) * https://techblog.pet-friends.co.kr/데이터-싱크를-위한-msk-connect-도입-feat-cdc-뽀개기-b1f341b495f https://medium.com/@systemdesignbychk/system-design-demystifying-change-data-capture-cdc-in-event-driven-microservices-using-debezium-7ed24336bc5a