Kestrel
Scalaで書かれたメッセージキューサーバー。Twitterで使われてるらしいです。
Twitterで使っているScalaで書かれたオープンソースのメッセージキューサーバー、Kestrel
:侍ズム#samuraism
インストールと起動
$ curl -O http://robey.github.com/kestrel/download/kestrel-2.4.1.zip
$ unzip kestrel-2.4.1.zip
$ cd kestrel-2.4.1
$ sudo java -jar kestrel_2.9.2-2.4.1.jar
ZendQueue
Zend Frameworkのコンポーネントの1つで、メッセージキューを利用するために使います。
https://github.com/zendframework/ZendQueue
メッセージを格納する方法によって複数のアダプタが用意されています。
Kestrel用のアダプタはありませんが、Kestrelはmemcachedプロトコルをサポートしているので、MemcacheQアダプタを利用します。
Memcache
あらかじめMemcachedライブラリもインストールしておいて下さい。
Macの場合はHomebrewを使うと簡単にインストールできます♪
$ brew install memcached
$ brew install memcache-php
メッセージキューサーバーを体験
2つのスクリプトを用意してください。
・worker.php :
ワーカープロセス。キューからメッセージを取得して表示する。
・front.php : キューにメッセージを送信する。
ターミナルを2つたちあげてください。
・ターミナル1でworker.phpを実行
プロンプトが返ってこない → Kestrelのキューを監視してくれています。
・ターミナル2でfront.phpを実行すると…
ターミナル1に「Hello, World!」と表示されます!
簡単ですが以上です。
Hello, Worldが表示された時には感動しますね (・∀・)
worker.phpを実行するターミナルを増やしたりするとなお楽しくなってきます♪