オープンソースカンファレンス 2016 Tokyo/Fallに参加してMQの話を聞いてきた


こちらのブログでもお知らせしましたが、オープンソースカンファレンス 2016 Tokyo/Fallで、弊社大山がMQについて、お話をしてきました。
img_0339

ツチノコブログでも話題に上がるMQの話を聞いて私なりにかみ砕いてレポートしようと思います!

そもそもMQとは?

MQはえむきゅーと読みます。not もきゅ(*´ω`*)
アプリケーション上でプロセス間のやりとりをサポートする処理方式のことです。

osc2016-mq-3-638

プロセスAとプロセスBがそれぞれ処理を走らせた際、お互いの処理が終わるのを待たずに処理を終えることができます。
プロセスを放り込めばMQにお任せできるので、システムの裏側でよく使われている手法です。

なぜMQなのか?

osc2016-mq-17-638

分散システムを単純にできる!
システムを作るときにシンプルな構成にできることもポイント。
-高可用性がある
-拡張性がある

 

MQにはいろいろある!

osc2016-mq-19-638

代表的なプロトコル/実装の特徴を紹介

AMQP(RabbitMQ)
MQTT(ActiveMQ)
STOMP(NewtMQ)
Kafka
ZeroMQ

AMQP(RabbitMQ)

Advanced Message Queuing Protocol
柔軟なメッセージルーティングができる。

MQTT(ActiveMQ)

軽量なプログラム。
ヘッダサイズが小さく、確実にメッセージを発行してくれる。

Kafka

順序付け負荷分散の両方を提供できる。
メッセージを格納し、キャッシュするためのファイルシステムに依存している。

まとめ

  • 万能なMQはない!
  • 用途にあった適切なMQを選択するのが大事。
  • Broker-MQ でパフォーマンス出したかったら NATS 使えばいいと思う!
    (但し、諸所の制約 (トランザクションなし、永続化しない、at-most-once な到達保証) を許容できるならば…)

発表資料

MQ, イベント

Posted by saya


PAGE TOP