RubyのクライアントからRabbitMQに接続し、Publish / Subscribeの動作確認をする。ここではdirect exchangeを使う。
ライブラリインストール
AMQPクライアントライブラリはamqpを使う。よくメンテナンスされているし、ドキュメントもよく整備されているので決定版でしょう。
$ gem install amqp
consumer
まずはメッセージを購読するconsumerを作成する。 ここでは以下のような設定でメッセージを待ち受けている。
- queue名:サーバー自動生成(空文字を渡すことで設定)
- exchange名:ex.direct
- exchangeからqueueに送信する際のルーティングキー:'tasks'
producer
次にメッセージをpublishするスクリプト。こちらは単純にexchangeを指定して送信するだけ。その際、consumerに合わせてルーティングキーを'tasks'にする。
実行
最初にconsumer.rbを実行し、別ウィンドウでproducer.rbを実行して、consumer.rbに'Hello, world'と表示されれば成功。その際、procuder.rbの方にも'sent: Hello, world'と表示される。publishメソッドでパブリッシュし、RabbitMQから送信完了の応答があるとブロック内が呼ばれる。
No comments:
Post a Comment