이번 강의에서는 RabbitMQ를 이용해 Accounts
마이크로서비스와 Message
마이크로서비스 간의 비동기 통신이 제대로 이루어지는지에 대한 전체 데모를 시연했습니다. 이 과정을 통해 두 마이크로서비스 간의 이벤트 스트리밍을 확인하였으며, 모든 비즈니스 흐름이 원활하게 작동하는지 테스트했습니다.
애플리케이션 재시작: Accounts
, Message
, GatewayServer
애플리케이션을 모두 재시작해야 합니다.
RabbitMQ 콘솔 확인: RabbitMQ 콘솔에서 send-communication
과 communication-sent
라는 두 개의 새로운 교환(exchange)이 생성되었는지 확인합니다.
emailsms-out-0
이라는 고아 교환(orphan exchange)은 이전에 잘못 생성된 것으로, 새로 RabbitMQ 컨테이너를 시작하면 보이지 않을 것입니다.새로운 큐 확인: communication-sent.accounts
라는 새로운 큐가 생성되었는지 확인합니다. 이 큐는 Message
마이크로서비스에서 Accounts
마이크로서비스로 메시지를 전송할 때 사용됩니다.
Postman을 이용한 API 호출:
Accounts
마이크로서비스가 RabbitMQ
에 메시지를 전송했음을 의미합니다.비동기 메시지 처리 확인:
Message
마이크로서비스 내에 설정되어 있으며, 이로 인해 메시지가 아직 최종 처리되지 않았음을 알 수 있습니다.Accounts
마이크로서비스의 H2 콘솔에서 communication_switch
컬럼이 null
로 설정된 것을 확인합니다.브레이크포인트 해제 후 데이터 확인:
Message
마이크로서비스가 메시지를 Accounts
마이크로서비스로 전송하고, 그 결과 communication_switch
컬럼이 true
로 업데이트됩니다.이 과정을 통해 모든 비즈니스 로직이 비동기적으로, 그리고 성공적으로 동작하는 것을 확인할 수 있었습니다.
이번 강의에서는 Accounts
와 Message
마이크로서비스 간의 비동기 이벤트 스트리밍을 설정하고, 이를 통해 두 마이크로서비스 간의 원활한 통신이 이루어지는지 확인했습니다. RabbitMQ를 활용한 이벤트 스트리밍은 마이크로서비스 간의 시간적 결합을 줄이는 데 중요한 역할을 하며, 이를 통해 시스템의 유연성과 확장성을 크게 향상시킬 수 있습니다.
다음 강의에서는 Docker 환경에서 이 설정을 테스트하여 전체 마이크로서비스 네트워크가 잘 동작하는지 확인할 것입니다.