MSA(Microservice Architecture)의 핵심은 ①비즈니스 민첩성, 장애대응, 개발 및 운영 조직, 배포중요도, 도메인 관련성의 특성에 따라 서비스를 분리하고(바운디드 컨텍스트를 만들고 서비스를 추출) ②분리된 서비스별 결합도를 낮추기 위해 독립된 데이터베이스를 두며 ③서비스간 데이터 전달은 이벤트 기반의 메시지 전달을 하는 것이라고 생각한다. 이렇게 각 서비스 별로 필요한 데이터를 이벤트 형식으로 비동기적으로 전송하는 아키텍처를 EDA(Event Driven Architectur)라 한다. 최근 MSA를 고려할때 비동기 통신을 위해 반드시 EDA를 고려해야 하고 EDA의 핵심인 Event Broker(Queue)의 제품별 특성을 반드시 이해하고 프로젝트에 적용해야 한다. 이 포스팅에서는..