O0oO0Oo / netty-reservation-service

트랜잭션, 동시성을 공부하기 위한 토이 프로젝트입니다.
0 stars 0 forks source link

feat: Integration and optimization of Saga pattern in each service module. #18

Closed O0oO0Oo closed 1 month ago

O0oO0Oo commented 1 month ago

이슈 개요

각 서비스 모듈에서 사가 패턴 통합과 사가 패턴 구현체 에러 수정, 최적화

재현 단계

예상 동작

  1. 요청이 오면 Ket Store 를 사용하여 유일성이 보장되는 unique key 를 만든다.
  2. key 를 SagaMessage 담아 각 서비스끼리 kafka, protobuf 를 사용하여 이벤트를 주고 받는다.
  3. 각 이벤트는 Exactly once 로 발행, 소비된다.
  4. 과정이 모두 끝나면 유저에게 응답을 한다.

실제 동작

  1. 요청이 오면 TSID 를 생성하여, 사가를 시작한다.
  2. 등록해둔 단계를 진행하며, kafka 를 통해 이벤트를 주고 받는다.
  3. 모든 단계가 완료되면 값을 리턴한다.

추가 정보