RabbitMQ / Mac

Erlangつながりで、MacでRabbitMQをうごかしてみたので、メモしておきたいと思います。

RabbitMQ(ラビットエムキュー)は、Advanced Message Queuing Protocol(AMQP)を使用した、オープンソースのメッセージ指向ミドルウェア。RabbitMQ Serverは、Erlang言語で記述されており、クラスタリングとフェイルオーバーのためにOpen Telecom Platformフレームワークで構築。
(by Wikipedia)

まずMac用Erlangを以下からダウンロードしてインストール
http://code.google.com/p/rudix/downloads/detail?name=erlang-R15B02-0.pkg
/usr/local/binにerlなどがイントールされます。

RabbitMQサーバは以下サイトから rabbitmq-server-mac-standalone-3.2.4.tar.gz をダウンロード
http://www.rabbitmq.com/install-standalone-mac.html
rabbitmq_server-3.2.4/sbinのファイルを実行します。

以下チュートリアルを使用
https://github.com/rabbitmq/rabbitmq-tutorials/tree/master/erlang

チュートリアルの中に以下を展開します。

git clone https://github.com/rabbitmq/rabbitmq-tutorials
cd rabbitmq-tutorials/erlang
wget http://www.rabbitmq.com/releases/rabbitmq-erlang-client/v2.7.0/rabbit_common-2.7.0.ez
unzip rabbit_common-2.7.0.ez
ln -s rabbit_common-2.7.0 rabbit_common
wget http://www.rabbitmq.com/releases/rabbitmq-erlang-client/v2.7.0/amqp_client-2.7.0.ez
unzip amqp_client-2.7.0.ez
ln -s amqp_client-2.7.0 amqp_client

rabbitmq_server
プラグインを有効にします。

./rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
mochiweb
webmachine
rabbitmq_web_dispatch
amqp_client
rabbitmq_management_agent
rabbitmq_management
Plugin configuration has changed. Restart RabbitMQ for changes to take effect.

これで、ブラウザで管理画面が表示できます。(サーバ起動後 guest/guestでログイン)

RabbitMQ.

サーバを起動します。

./rabbitmq-server

RabbitMQ 3.2.4. Copyright (C) 2007-2013 GoPivotal, Inc.
## ## Licensed under the MPL. See http://www.rabbitmq.com/
## ##
########## Logs: ./../var/log/rabbitmq/rabbit@N-no-MacBook-Pro.log
###### ## ./../var/log/rabbitmq/rabbit@N-no-MacBook-Pro-sasl.log
##########
Starting broker… completed with 6 plugins.

rabbitmq-tutorials/erlang

ls
README.md emit_log_topic.erl receive_logs.erl
amqp_client new_task.erl receive_logs_direct.erl
amqp_client-2.7.0 rabbit_common receive_logs_topic.erl
emit_log.erl rabbit_common-2.7.0 send.erl
emit_log_direct.erl receive.erl worker.erl

tutorial実行

./send.erl
[x] Sent ‘Hello World!’
./receive.erl
[*] Waiting for messages. To exit press CTRL+C
[x] Received <<"Hello World!">>

参考サイト
http://d.hatena.ne.jp/iwasakims/20130512/1368378919
http://opentechnica.blogspot.jp/2012/02/macrabbiqmq.html

Tags:

Leave a Reply