Search
Duplicate

메시지 브로커와 이벤트 브로커

Created
2023/01/06 15:01
tags
📟Backend
메시지 브로커(Message Broker)와 이벤트 브로커(Event Broker)는 RabbitMQ, Kafka와 같은 브로커와 함께 나오는 용어이다.
MSA 등의 환경에서 데이터 통신을 위해 한 쪽에서 메시지를 만들면(Produce) 다른 쪽에서 이를 소비(Consume)한다. 브로커가 이 기능을 중계해준다.
메시지 브로커(예: RabbitMQ)는 메시지 큐를 기반으로 만들어진 브로커이다. 메시지가 생성되면 이를 큐에 저장하고 순서대로 소비한다.
생성된 메시지 순서대로 소비하고 큐에서 삭제하기 때문에 메시지를 다시 사용할 수가 없다.
이벤트 브로커(예: Kafka)는 메시지 브로커와 비슷한 기능을 하지만 메시지 발행 시 이를 이벤트로 기록해서 관리한다.
큐에서 메시지가 삭제되도 이벤트가 남아있기 때문에 이벤트를 다시 사용해서 복구할 수 있다. 서비스 확장때문에 Producer, Consumer간의 의존성을 줄여야 한다면 이벤트 브로커를 사용할 수 있다.