夏サミ2014【B-4】LMQでお手軽分散システム開発 #natsumiB4

IIJでは分散システムを開発・運用する際の複雑さを低減するメッセージキューシステム(LMQ)を開発し、オープンソースで公開しています。LMQと、LMQを開発するに至った経緯や実際の利用例を紹介します。 田中 義久 株式会社インターネットイニシアティブ サービスオペレーション本部 サービスオペレーション部 システム開発課
1
Developers Summit(デブサミ)🏔 翔泳社 CodeZine主催エンジニアイベント @devsumi

おはようございます。今日はいよいよ夏サミ開催です!たくさんの皆様のご来場をお待ちしております! — at 御茶ノ水 ソラシティカンファレンスセンター fb.me/3LNWLDiO6

2014-07-31 07:43:49
ياسين ريون @ysnryn

LMQ 社内で開発したのをOSSで公開。Erlangで実装。 #natsumib4

2014-07-31 16:20:59
ياسين ريون @ysnryn

より良い監視システム構築のために作成。 #natsumib4

2014-07-31 16:22:06
ياسين ريون @ysnryn

旧来の監視システムの問題を列挙し、それを解決するためのMessage Queue #natsumib4

2014-07-31 16:23:56
ياسين ريون @ysnryn

デプロイが職人芸になっていて、デプロイしたくない。だからコード書きたくない→ #natsumib4

2014-07-31 16:25:43
Manabu Uchida @uchimanajet7

パターンマッチングで複数のキューを扱えるのはいいな #natsumiB4

2014-07-31 16:35:16
Manabu Uchida @uchimanajet7

get はマッチしたもの一つしか返さないのね。 #natsumiB4

2014-07-31 16:36:45
ياسين ريون @ysnryn

APIの説明。Put, Get, Reply, Put all, Get all #natsumib4

2014-07-31 16:37:10
ياسين ريون @ysnryn

コマンド、タイムアウトの扱い、メッセージの集約 #natsumib4

2014-07-31 16:39:46
ياسين ريون @ysnryn

マルチパートをうまく扱うライブラリがない言語もあるので、MessagePackにも対応 #natsumib4

2014-07-31 16:41:50
ياسين ريون @ysnryn

デフォルトプロパティ。GET, PATCH, DELETEメソッド #natsumib4

2014-07-31 16:43:02
ياسين ريون @ysnryn

クラスタリング。障害対策に複数のノードを動作させられる。マスターレス #natsumib4

2014-07-31 16:44:51
ياسين ريون @ysnryn

zsh使ったことなかったけど、試してみようか。 #natsumib4

2014-07-31 16:49:38
ياسين ريون @ysnryn

プロデューサーx2 VS コンシューマーx2 #natsumib4

2014-07-31 16:51:00
ياسين ريون @ysnryn

ユースケース: プロセス間連携。疎結合。どちらも再起動できる。片方がサーバーにならなくていい。自由に追加・削減できる。etc... #natsumib4

2014-07-31 16:53:17
ياسين ريون @ysnryn

ユースケース: Webhook Receiver風 #natsumib4

2014-07-31 16:55:41
Manabu Uchida @uchimanajet7

Webhook のエンドポイントに使うのはいいな #natsumiB4

2014-07-31 16:56:34
ياسين ريون @ysnryn

NAT配下や動的IPのデスクトップPCにも通知とか。 #natsumib4

2014-07-31 16:57:27
Manabu Uchida @uchimanajet7

Proxy やfirewall 配下だと80しか通らない事もあるし、便利だなー #natsumiB4

2014-07-31 16:57:47