inflearn logo
강의

講義

知識共有

堅牢な決済システムの構築

決済承認メッセージ発行 (feat: Transactional Outbox Pattern, Apache Kafka)

cdc 방식

83

otteu

投稿した質問数 11

0

개발자님 안녕하세요

결제 승인 메시지 발행

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

 

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

 

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

 

spring spring-boot dbms/rdbms backend payments

回答 1

0

communityai8509

안녕하세요, 인프런 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