API Service A
Kafka Consumer Service A
이렇게 두개가 A Database 를 공유하고
API Service A는 Http Request 에 대한 응답 처리를 함.
Kafka Consumer Service A는 다른 마이크로 서비스에서 요청하면 처리하는 기능을 함.
API Service B
Kafka Consumer Service B
이렇게 두개가 B Database 를 공유
상황은 이러함
A에 어떤 요청이 들어왔는데 응답을 구성하려면
B 데이터 베이스에 있는 내용이 필요함(데이터 베이스가 분리되어
조인을 할 수가 없으니)
API Service A -> send kafka topic with unique id to consumer B -> wait response(block)
Consumer B receive topic -> process topic -> send kafka topic with unique id received
이런식으로 처리하면 되나
API 서버 로직 중간에 저렇게 블로킹 걸리는걸 해도되나 싶어서
wait response 에서는 비동기 로 처리하면 됨
애초에 도메인 설계를 잘못 한게 아니라면 API 게이트웨이 패턴쪽으로 알아보면 될 것같은데 CQRS SAGA도 이쪽과 연관되어 있던 내용인가 하도 옛날에 공부해서 가물가물하네
처음부터 메세지에 데이터 같이 실어서 보내면 어떰?