한눈에 보는 MQ

  • coolspeed

요즘 MQ에 빠져 MQ덕질 좀 했습니다.
길게 쓰면 아무도 안읽고, 쓰는 사람도 귀찮아지니 알맹이만 적겠습니다.

ActiveMQ – 정통 MQ, 기능 많음, 트랜잭션 지원.

RocketMQ – 알리바바에서 오픈한 MQ. 지구상 가장 분주한 전자상거래 시스템중 하나인 알리바바의 인프라로 매일 높은 워크로드에서 사용되고 검증되고 있음. 세계 기록을 갱신한 쇼핑몰 오더 처리 성능.

Java로 개발됨. 활발한 개발과 (중국내) 활발한 커뮤니티. 트랜잭션 지원(그러니 전자상거래에 쓰일 수 있지).

단점: 클라이언트 언어는 Java 와 C++ 만 지원.

Apache Kafka – LinkedIn 에서 오픈. Scala 언어로 개발됨. 개발팀은 나가서 새로 회사를 차렸다는데 현재는 개발과 커뮤니티가 모두 그다지 활발하지 않음.
최대 장점은 성능. 특히 batch 모드를 켰을 때 (redis pipeline모드랑 유사).
단점: 트랜잭션 지원하지 않음.

RabbitMQ – Erlang 으로 개발됨. 성능 좋음. (거의) 모든 언어 클라이언트 제공.
AMQP의 여러 기능을 지원하는 만큼 ActiveMQ에 버금가는 다양한 피쳐.
Erlang으로 개발된 만큼 fault-tolerance 가 짱임.

ZeroMQ – 사실은 MQ가 아님. Zero * MQ == zero != MQ?
네트워크 라이브러리? 네트워크 프로토콜 스택상의 새로운 레이어? Linux커널에 들어가는 것을 목표로 한다.
끊기면 자동 재연결하는 고급 소켓. Listen 과 accept 순서 무관인 고급 소켓.

(거의) 모든 언어 클라이언트 제공. 라이트한 만큼 성능이 장점.

“ZeroMQ” 에서 “Zero”는 broker가 없음을 의미. 그만큼 분산식 차원에서 더욱 철저하다.

(무엇보다 얘는 정말 MQ가 아니기에 MQ리스트 안에 넣어서 비교하는 자체가 어색하다. MQ같은 네트워크 라이브러리.)

Advertisements

One thought on “한눈에 보는 MQ

  1. Pingback: [번역] ZeroMQ설계자: 세계를 구원하라 | coolspeed

댓글 남기기

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s