신뢰할 수 있는
메시지 브로커를 만듭니다.

디스크에 안전하게 기록되고, 토픽당 단일 라이터로 순서가 지켜지며, 잠금 없는 읽기로 처리량까지 챙긴 메시지 브로커입니다.

PILLARS

왜 mmmq인가

신뢰할 수 있는 메시징을 위한 네 가지 기준을 두고 만들어 갑니다.

01 · RELIABILITY

신뢰성

메시지가 손실되지 않고, 잘못된 소비자에게 전달되지 않습니다.

02 · DURABILITY

내구성

예기치 못한 장애와 재시작 후에도 메시지는 살아남습니다.

03 · PERSISTENCE

영속화

디스크에 안전하게 기록되어 사라지지 않습니다.

04 · THROUGHPUT

높은 처리량

안정성을 잃지 않으면서 빠르게 흐릅니다.

AT A GLANCE

간단하게 시작합니다

의존성을 추가하고 빈을 등록한 뒤, 한 번의 메서드 호출로 메시지를 발행합니다.

Java
@Service
public class OrderEventPublisher {

    private final Producer producer;

    public OrderEventPublisher(Producer producer) {
        this.producer = producer;
    }

    public void publish(long orderId) {
        producer.produce(new Message(
            new Topic("order.created"),
            Map.of("id", orderId)
        ));
    }
}
  1. 1
    JitPack 저장소와 producer 의존성을 추가합니다.
  2. 2
    @Configuration에서 Producer 빈을 등록합니다.
  3. 3
    주입받은 Producerproduce(Message)를 호출하면 끝입니다.
  4. 4
    실패 시에는 ProduceException이 던져집니다.
MODULES

세 모듈로 구성됩니다

각 모듈은 독립적으로 의존성에 추가해 사용합니다.

5분이면 띄울 수 있습니다.

가장 짧은 가이드를 따라가면, 첫 메시지가 broker를 거쳐 consumer까지 흐르는 모습을 직접 확인할 수 있습니다.