祝! AP4R 初リリース (version 0.1.0)

Rubyのための、非同期メッセージングライブラリ AP4R をリリースしました!

http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/211937

[ANN] AP4R, Asynchronous Processing for Ruby, initial release

We are pleased to announce the FIRST release of AP4R. http://rubyforge.org/projects/ap4r/

メッセージ永続化には、reliable-msg を利用させてもらっています。http://trac.labnotes.org/cgi-bin/trac.cgi/wiki/Ruby/ReliableMessaging

それに付け加えるコンセプトは次の2つです。

  • 組み込みのメッセージ捌き屋さん (build-in message dispatcher)

キューに入ったメッセージ処理の引き金をひくために、reliable-msg サービスに対して、スレッドを追加しています。これで嬉しいことは、アプリケーション開発時には、同期とか非同期とかを(あんまり)考えずに、単純にWebアプリケーションとして実装すればOKになります。現状、非同期アプリの呼び出しプロトコルには、XML-RPC のみ実装。

  • 複数の reliable-msg サービス間での負荷分散 :

非同期処理が非常に多いシステムを想定すると、メッセージ永続化部分(キューへの出し入れ部分も含めて)がボトルネックになる可能性があります。そこで、急がしい reliable-msg サービスから別のreliable-msg サービスへメッセージが移動して、(たぶん)別の筐体で処理されると、筐体をまたいだ負荷分散ができて嬉しい。今の実装は、reliable-msg にスレッドを追加し、相手先のサービスのキューからメッセージを抜いて自分ところに突っ込む、という処理を行うようにしています。


どちらも概念実証 (proof-of-concept) の段階の実装です。
色々な方々のご意見を頂きながら、品質向上/機能追加を行い、良いライブラリになるよう努力していきたいと考えています。

Rubyのコミュニティに、特に ruby 本体、そして、reliable-msg には大きな恩恵を受けています。ブログエントリではありますが、ここで謝辞を申し上げます m(_ _)m

(注)このブログの全エントリーは、すべて個人の見解です。所属する会社の見解ではないことをご了承ください。