강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김동선님의 프로필 이미지
김동선

작성한 질문수

견고한 결제 시스템 구축

결제 승인 메시지 발행 (feat: Transactional Outbox Pattern, Apache Kafka)

cdc 방식

작성

·

26

0

개발자님 안녕하세요

결제 승인 메시지 발행

영상에서 권장되는 cdc 방식에 문의 드립니다.

 

Outbox 테이블을 cdc 방식으로 kafka로 전송 하면 되는 걸까여? 이 방식을 적용 하면, 스케줄러로 Outbox를 다시 읽어서 전송 한는 로직은 진행 하지 않아도 될까여?

 

cdc방식으로 db log를 읽어서 전속 하는 방식은 기존에 kafka로 전송 하고, 응답으로 record를 받아서, 잘 받았는지 여부를 체크 하지 않는데, cdc 방식은 잘 전달 되었다고 가정 하고 진행 하는 걸까요?

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.
김동선님께서 말씀하신 대로 Outbox 테이블을 CDC(Change Data Capture) 방식으로 Kafka로 전송하는 것은 많은 시스템에서 권장되는 패턴입니다.
CDC 방식을 사용하면, 별도의 스케줄러로 Outbox를 읽어서 전송하는 로직을 간소화할 수 있습니다. CDC는 데이터베이스의 변경 사항을 실시간으로 캡처하여 Kafka로 직접 스트리밍하기 때문에, 중간에 추가적인 스케줄러가 필요하지 않습니다.

CDC 방식에서는, 데이터를 잘 전달했는지에 대한 확인을 보장하기 위해 Kafka 자체의 메시지 전송 보장(예: “at least once”, “exactly once” 전송)을 활용할 수 있습니다. 따라서, 별도의 응답 체크 없이도 데이터가 잘 전달되었다고 가정할 수 있습니다.

Kafka의 운영 관련 추가 정보는 Kafka Documentation에서 확인하실 수 있습니다.

좋은 하루 되세요!

김동선님의 프로필 이미지
김동선

작성한 질문수

질문하기