mmmq 소개

mmmq가 시작된 계기, 목표, 메인테이너를 소개합니다.

NAME

mmmq?

mmmq는 두 메인테이너의 닉네임과 메시지 큐의 약자인 MQ를 합친 표현입니다.

mmmq = Moko & Meringue's Message Queue
모코(Moko)와 머랭(Meringue)의 메시지 큐(MQ)
STORY

어떻게 시작됐나

mmmq는 우아한테크코스 7기 백엔드 크루 두 명이 모여 시작한 프로젝트입니다.

저희는 이기종 시스템 간 메시지 교환을 위한 메시지 broker가 어떻게 동작하는지 궁금했습니다.
메시지 API, 장애 시 복구, 영속화 구조. 답을 외우는 대신 직접 구현하며 학습하기로 했습니다.

한 달 만에 producer가 broker로 메시지를 보내고, consumer가 받는 구조를 완성했습니다.
그때부터 "mmmq가 무엇이 될 수 있을까"를 진지하게 생각하기 시작했습니다.
"프로덕션 환경에서 사용할 수 있는 메시징 시스템"이라는 더 큰 목표가 생겼고, 지금은 그 방향으로 한 걸음씩 나아가고 있습니다.

GOALS

목표

mmmq는 그동안 내구성, 사용하기 쉬운 API, 독립 소비 모델 구축 등 여러 과제를 해결해 왔습니다.
앞으로는 다음 세 가지 영역에 집중해 프로덕션 환경에서 사용할 수 있는 메시징 시스템으로 나아갈 예정입니다.

처리량 Throughput

많은 양의 메시지를 안정적으로 처리하는 것을 목표로 합니다.
비동기 처리, 효율적인 디스크 I/O, 토픽별 격리된 처리 경로로 처리량을 확보합니다.
확장성 Scalability

토픽 수, consumer 수, 메시지 양이 늘어나도 일정한 성능을 유지해야 합니다.
구조적인 확장 지점을 마련해 늘어나는 부하에 대응합니다.
운영 가시성 Observability

운영자가 시스템 내부 상태를 명확하게 파악할 수 있어야 합니다.
토픽별 적재량, consumer offset, 처리 지연 같은 핵심 지표를 노출합니다.
MAINTAINERS

메인테이너

모코 (송선권)
백엔드 개발자
모코 프로필 사진

추측 대신 근거로 이야기합니다.
함께 성장하는 개발을 추구합니다.

머랭 (김대현)
백엔드, 공통 플랫폼 개발자
머랭 프로필 사진

기술의 내부 동작 원리를 탐구합니다.
개발자를 위한 제품을 만드는 일을 좋아합니다.