공부/MSA

[MSA] Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA) - Microservcie간 통신 (동기화 문제)

sesam 2024. 2. 1. 08:03
728x90

 

 

동기화 문제

order-service를 2개 기동 후, 한 User로 5번의 주문을 해보았다.

2개의 order 서버에서 돌아가면서 각자의 DB에 저장된 것을 확인했다.

같은 order-service니까 하나의 DB를 사용하게 할 수는 없을까?

 

 

해결 1) 하나의 Database 사용

하나의 DB를 사용하기 위해서는 트랜잭션 관리 동시성 관리를 잘 해줘야 한다.

 

 

해결 2) Database간의 동기화

Kafka, RabbitMQ를 사용하여

 

해결 3) DB(해결방법 1) + Kafka Connector(해결방법 2)

하나의 DB + 큐잉메시지