Reliable Messaging の状況メモ

覚えるのは苦手なので、ここにメモ。

Reliable Messaging (reliable-msg)、 http://rubyforge.org/projects/reliable-msg/ 。gem としてリリースされているバージョンは 1.1.0 になっている(リリースされたのは 2005 年 11 月)。コードが読みやすくて、使いやすいライブラリなのですが、欲を言うとちょこちょこ気になるところがある。

よくひっかかる点は以下。

  • 設定ファイルの drb セクションが実行時に反映されないバグ -> CVS では修正されている
  • DRbServer の listen アドレスが localhost にハードコードされている -> ACL をどうしようとも localhost から、localhost にしか接続できない
  • uuid の状態保持ファイル(デフォルトは $GEM_HOME/gems/uuid-x.y.z/uuid-state) のパスが指定できない -> Unix 系では、root じゃないユーザーで動かそうとすると書き込みできないエラーが発生する、UUID 自体はファイルを指定できるが、reliable-msg を通すと指定できない
  • QueueManager の dequeue が enqueue という名前になっていて読みにくい -> CVS では修正されている

個人的に気になる点は以下。

  • メッセージの中身が(Ruby のオブジェクトなら)なんでもいける -> STOMP とか HTTP上でメッセージを送ろうとすると、あまり相性が良くない。
  • キューのキャッシュがベタな(フラットな)ハッシュ -> サブスクライブの仕方(ワイルドカードとか)をどこまで許すか、と絡む
  • キュー/トピックがブロッキングではない