학습용으로 아래 저장소를 코프링으로 포팅
https://github.com/vinsguru/reactive-event-driven-microservices/tree/master/saga-orchestrator
- Saga 구현: Orchestrator Saga 는 구현하기 나름이라고 생각하고, 구조가 좋아보여서 코드 레벨로 어떻게 구현했는지 궁금해서 따라하기로 결정
- Spring Cloud Stream 사용: @KafkaListener 기반으로만 구현해봐서 Spring Cloud Stream를 사용해 보고 싶었음
- Reactor 읽기: Reactor 를 사용하여 서비스를 만든적이 없어서 Reactor 코드에 익숙해지고 싶었음
- r2dbc-mysql: R2DBC 실제 서비스에 이용해본 적이 없었는데, UUID를 PK로 가져가는 엔티티에서 여러 트러블 슈팅 과정 경험
- Java Spring -> Kotlin Spring
- r2dbc-h2 -> r2dbc-mysql
- Reactor 기반 -> Coroutine 기반