システム開発で思うところ

Javaで主にシステム開発をしながら思うところをツラツラを綴る。主に自分向けのメモ。EE関連の情報が少なく自分自身がそういう情報があったら良いなぁということで他の人の参考になれば幸い

JJUG ナイトセミナー 「メッセージングミドルウェア特集」に参加してきました #jjug

まとめ

togetter.com


メモ

実運用して分かったRabbit MQの良いところ・気をつけること

www.slideshare.net

  • ブローカー無しのメッセージングはダメ!メッセージングミドル導入は絶対
  • メッセージは標準仕様が使えるよ
  • ロードバランサーはいらないよ(というか それが原因でメッセージロストして大変だったよ)
  • トラフィック統計と大量処理はトレードオフ
  • ディスクIO対策でマスタはHDD、スレーブはメモリ。2年運用しているけど 今のところ大丈夫

40分弱でわかるApache Kafka

CCCでも聞かせていただきましたが、今回は「製品の特長」に特化していた印象です。

  • ストリーミング処理に強みがあるよ
  • 事例が多いよ

以前、話を聞いたところもあり、メモは薄いですが 発表は相変わらず良かったですし、製品の特長も分かりやすかったです。ストリーミング処理基盤が必要だったら迷わずKafkaを選ぶと良さそうだ、と思います。

メッセージキュー「Pulsar」の紹介

www.slideshare.net

登壇者はコミッター。

新卒7年目でコミッター。

  • 3つの中では一番新しい製品だよ
  • Yahooが開発元だよ
  • 高いスループットに耐えられるよ
  • スケーリングに強いよ
  • マルチテナントだよ
  • 環境構築については3つの中では、一番手間かもしれないよ
  • 設定が階層的に継承できるよ
  • Kafkaクライアントラッパーがあるので、Kafkaからの移行も楽だよ*1

感想

ざっくり

  • 手始めにメッセージングを試してみたいなら、標準仕様を備えているRabbit MQ
  • メッセージングによるストリーミング処理を検討しているならKafka
  • 高いスループットが想定するならPulsar
  • 高いスループットを想定しなくても、メッセージングだったらPulsar
  • スケーリングが容易なのはPulsar
  • マルチテナントならPulsar
  • 個人的には使い勝手が良さそうな印象なのはKafka
  • Kafkaクライアントで実装しておいて、状況によりバックヤードはPulsarにするとか、っていうのはアリかも

Yahooという1つの企業で、メッセージングだけでも色々な製品を使っているというのが面白いですね。

なんとなくですがRabbit MQPulsarのマルチテナントの1つに まとまる方向になる気がしました。Kafkaはストリーミング処理への強み(便利さ)などを考えると 下手にまとめない方が良いという印象を受けました。

というような感じで、一言にメッセージングミドルで片づけてしまうところについて、製品特徴を鑑みて「ここには これを適用してみたら?」と思えるようになったのが最大の収穫だったと思います。

関連

www.slideshare.net

*1:そこまでは言っていないけど、そう言っているように思えた