cdc 방식
83
11 asked
개발자님 안녕하세요
결제 승인 메시지 발행
영상에서 권장되는 cdc 방식에 문의 드립니다.
Outbox 테이블을 cdc 방식으로 kafka로 전송 하면 되는 걸까여? 이 방식을 적용 하면, 스케줄러로 Outbox를 다시 읽어서 전송 한는 로직은 진행 하지 않아도 될까여?
cdc방식으로 db log를 읽어서 전속 하는 방식은 기존에 kafka로 전송 하고, 응답으로 record를 받아서, 잘 받았는지 여부를 체크 하지 않는데, cdc 방식은 잘 전달 되었다고 가정 하고 진행 하는 걸까요?
Answer 1
0
안녕하세요, 인프런 AI 인턴입니다.
김동선님께서 말씀하신 대로 Outbox 테이블을 CDC(Change Data Capture) 방식으로 Kafka로 전송하는 것은 많은 시스템에서 권장되는 패턴입니다.
CDC 방식을 사용하면, 별도의 스케줄러로 Outbox를 읽어서 전송하는 로직을 간소화할 수 있습니다. CDC는 데이터베이스의 변경 사항을 실시간으로 캡처하여 Kafka로 직접 스트리밍하기 때문에, 중간에 추가적인 스케줄러가 필요하지 않습니다.
CDC 방식에서는, 데이터를 잘 전달했는지에 대한 확인을 보장하기 위해 Kafka 자체의 메시지 전송 보장(예: “at least once”, “exactly once” 전송)을 활용할 수 있습니다. 따라서, 별도의 응답 체크 없이도 데이터가 잘 전달되었다고 가정할 수 있습니다.
Kafka의 운영 관련 추가 정보는 Kafka Documentation에서 확인하실 수 있습니다.
좋은 하루 되세요!
프로그램 아키텍쳐
0
60
1
실습코드 압축해제
0
78
1
confirm 로직에서 amount를 검증하는 부분에서 질문이 있습니다.
0
53
1
Transaction Demo 질문 드립니다.
0
60
1
seed 키 및 orderId 에 대한 질문
0
65
1
결제 이후 404 Error 발생
0
167
1
테스트 코드 중 isPaymentDone 변환
0
76
1
가상의 Checkout 기능 구현 중 질문
0
183
1
docker Mysql 설정 문의
0
106
1
allOpen 설정이 잘못된 거 같습니다.
0
115
1
recovery 동시성 처리 관련 문의
0
119
1
confluent > skip 이 더이상 안되나봅니다.
0
107
1
강의 클론 코딩한 것 public repo에 올려도 되나요?
0
330
1
멱등키에 request를 넘기는 것
0
257
1
동시성 제어 (optimistic locking) 재시도 부분 질문 드립니다.
0
173
1
결제 복구의 세부 과정을 병렬로 처리한 이유가 궁금합니다
0
222
1
전체적인 헥사고날 아키텍쳐 설명
0
275
1
주문, 결제 로직에 대해서 질문이 있습니다.
0
281
1
주문 번호 생성 방식 관련 질문 있습니다
0
927
1
R2DBC 관련해서 질문 드립니다.
0
586
3
payment 상태 업데이트 변경 메서드를 3개나 두는 이유가 궁금합니다.
0
230
2
'더 견고해지기 위해 남은 작업' 수업자료
0
298
1
혹시 코드 리뷰 신청해도 될까요...?
0
310
1
코틀린 선택 이유
0
290
1

