동기식 API 호출은 서비스 간에 **강한 결합(Tight Coupling)**을 유발하여 하나의 기능이 멈추면 전체 로직이 실패하는 치명적인 단점이 있습니다. 또한, 생산자가 상대방의 주소(Endpoint)를 반드시 알아야 하는 '지식의 결합' 때문에 새로운 요구사항 추가 시 기존 코드를 수정해야 하는 악순환이 발생합니다. EDA는 이러한 결합도를 극단적으로 낮추어, 각 시스템이 서로의 존재를 모르더라도 완벽하게 협력하고 유연하게 확장할 수 있도록 만들어 줍니다.
생산자의 무지(Producer Ignorance)와 독립성
이벤트 생산자는 오직 채널의 존재만 알면 되며, 누가 구독하는지 알 필요가 없으므로 시스템 전체의 독립성과 복원력이 극대화됩니다.
PayOrder(명령)가 아닌 OrderPaid(이벤트)처럼 반드시 철저한 과거 시제로 명명해야 합니다.EDA의 브로커(채널)를 활용하면, 앞서 언급한 두 가지 치명적인 결합을 기술적으로 완벽하게 해소할 수 있습니다.