inflearn logo
강의

Khóa học

Chia sẻ kiến thức

Các mẫu giao dịch phân tán dưới góc nhìn MSA được chia sẻ bởi người phỏng vấn Kakao

Ứng dụng cuối cùng và kiểm thử cho phép mất mát dữ liệu

입금 성공 후 계좌 잔고 증가 로직 구현 방법 문의

Đã giải quyết

103

hororok

1 câu hỏi đã được viết

0

강의를 보고 궁금한 점이 생겨서 질문드립니다.

강의에서 구현된 송금 프로세스를 분석해보니,

출금은 정상적으로 잔고가 차감되지만 입금 시 받는 계좌의 잔고를 증가시키는 로직이 없는 것 같습니다.

예를 들어:

- Choreography 방식: handleDepositSuccess() 메서드에서 SagaState만 COMPLETED로 업데이트

- Orchestration 방식: Transaction Service에서 deposit 기록만 생성

현재와 같이 데이터베이스가 서비스별로 분리된 상황에서,

입금 성공 후 받는 계좌의 잔고를 증가시키는 로직을 어떻게 구현해야 하는지 궁금합니다.

제가 생각한 방법은:

1. Orchestration 방식: Transaction Service의 REST 응답이 성공하면,

Account Service에서 받는 계좌의 잔고를 증가시킴

2. Choreography 방식: Transaction Service에서 deposit.success 이벤트를 발행하면,

Account Service에서 이벤트를 consume하여 받는 계좌의 잔고를 증가시킴

이 두 가지 방식으로 접근하는 것이 맞는지,

아니면 다른 권장 방법이 있는지 알려주시면 감사하겠습니다.

java spring mysql spring-boot msa

Câu trả lời 1

0

Hong

안녕하세요 호로록님 제가 이벤트를 일부 뺴먹었나 보네요 ㅠㅠ 죄송합니다.

 

생각하시는 방향이 맞습니다. 우선 오케스트레이션 방식은 내가 동기적으로 볼 수 있기 떄문에 단순히 값을 추가해주시면 될 것이고

 

코레오그래피 패턴에서는 최종적으로 처리하는 이벤트 즉 예를들면 결제 성공 이벤트도 최초 계좌의 잔액을 담당하는 서비스가 소비를 하면서 계좌의 잔액을 처리하시면 됩니다.

 

생각하시는 방향이 틀리지는 않은거 같아요. 감사합니다!

Entity 동등성 비교

0

3

1

패키지 구분에 대해 궁금한게 있습니다

0

12

1

안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.

0

19

1

스프링부트 서버 에러나요

0

17

1

코드를 첨부해야하는 이유가 있나요?

0

22

2

갑자기 채점 사이트가 바뀌었어요

0

19

1

코드 자료

0

27

2

2026.04에 추가된 강의 시청 불가

0

28

1

Service Create/Update Record 운용과 Delete Record 미운용의 차이 질문

0

21

1

간단한 오타 제보입니다.

0

19

1

문제 리스트 페이지

0

22

1

인가 코드 발급(프론트 vs 백)

0

28

2

part8 Notion 링크

0

23

1

큰 범위 조회 시 EXPLAIN의 rows 값이 정확하지 않은 이유가 궁금합니다.

0

35

2

Orchestration SAGA 패턴 보상에 대한 질문입니다.

0

51

2

23강 예제 질문입니다! (서비스 1 > 2 > 3 호출 시나리오 관련)

0

59

2

강의 11 질문

1

65

2

강의 첨부파일 문의

0

61

1

Orchestration 방식의 모듈 구성에 관한 질문

0

96

2

Orchestration 패턴시 트랜잭션 분리

0

92

2

common 모듈의 필요성과 다른 방법에 대한 문의

0

84

1

주식거래와 같은 실시간 보장이 필요한 상황에서 SAGA 패턴 도입에 대한 문의

0

92

2

사가 패턴 질문

0

93

2

코레오그래피 방식으로 SAGA 패턴을 구성할때 메시지 설계는 어떤식으로 해야하는지 궁금합니다

0

121

1