Event-driven은 컴포넌트 간 계약의 문제다Event-driven Architecture를 구성하는 요소는 단순해 보인다.Event를 만드는 쪽Event를 전달하는 쪽Event를 처리하는 쪽하지만 시스템이 복잡해지는 이유는 이 세 요소의 책임 경계가 흐려질 때 발생한다.이 글에서는 각 구성 요소가 무엇을 해야 하고, 무엇을 해서는 안 되는지를 정리한다.Producer의 책임Producer는 Event를 발행하는 주체다.Producer의 핵심 책임은 단 하나다.사실을 정확하게 기록하고 전달한다Producer는 다음을 책임진다.Event가 언제 발생했는지어떤 사실이 발생했는지사실을 왜곡하지 않고 표현했는지Producer는 Event의 의미에만 책임이 있다.Producer가 해서는 안 되는 것Produ..