작성
·
253
0
order service1, order service 2 에 각각 db가 있는경우(MQ로 동기화)
order service1, order service2 - MQ server - db
2번 방법은 db는 한개
1, 2의 경우를 설명해주셨는데 ,
2번에 경우에도 특정 시점에서는 MQ server에서 db로 주문이 저장 안되서
총 5개 저장했을 때 DB에 3개 저장되고 MQ server에 아직 2개가 있을 때 사용자를 검색했을 때 해당 사용자의 order이 3개일 수도 있지 않나요 ?
답변 2
1
안녕하세요, 이도원입니다.
IT, 전산 시스템에서 완벽한 솔루션은 없는 것 처럼 말씀하신 상황도 발생할 수 있는 가능성이라고 생각합니다. 강의에서는 MQ의 사용 용도 및 다중 서비스들 간의 데이터 동기화에 대한 방법 중 하나를 전달하려고 했었습니. Kafka MQ를 사용할 때 단일 Broker(서버)로 구성하는 경우 보다는 3대 이상 구성하여 사용하는 경우가 많기 때문에, 메시지의 전달을 어느정도 보장해 줄 수 있습니다. 실시간으로 전달될 상황이 아니어도, 메시지 전달을 해 줄 수 있습니다. 실시간 데이터 저장에 대한 부분은 일반적인 관계형 데이터베이스에서도 발생할 수 있는 이슈이며, 데이터베이스에 커넥션을 연결하여 작업을 처리하는 것 보다는, MQ에 비동기 방식으로 메시지는 보내고, 로직에서 다른 서비스를 처리할 수 있도록 구성할 수 있다는 점이 다른 점이라고 보시면 좋을 것 같습니다.
다른 의견 있으시면 글 남겨 주세요.
감사합니다.
0