タグ

rubyとrpcに関するkgbuのブックマーク (2)

  • 140行で作る分散リアルタイム検索エンジン(Twitter Streaming API対応) - 古橋貞之の日記

    マトモに使えるRPCライブラリ MessagePack-RPC for Ruby のバージョン 0.2.0 をリリースしました! 新たにコネクションプーリングの機能を追加しました。一度接続したコネクションを共有して使い回すことができます。コネクションを何度も張り直す負荷と遅延を削減でき、リソースの消費も抑えられます。 また、不意に切断されたコネクションを自動的に再接続する機能を導入し、信頼性を向上させています。 これを使って何か作ってみようと言うことで、twitterのリアルタイム検索エンジンを作ってみました。日語を検索できないなど機能は貧弱ですが、プログラム全体がわずか140行に収まっています(クローラ27行、インデクサ48行、クラスタ管理ノード37行、検索クライアント28行)。 新しいつぶやきを受信するたびに、リアルタイムで転置インデックスを作成していきます。インデックスを作成するノ

    140行で作る分散リアルタイム検索エンジン(Twitter Streaming API対応) - 古橋貞之の日記
    kgbu
    kgbu 2009/12/07
    コネクションpoolingの機能のデモ
  • Ruby Rev + MessagePack による分散プログラム - Blog by Sadayuki Furuhashi

    ネットワークプログラミングで面倒なのが、通信相手にバイト列しか送れないためプロトコルをシリアライズ方法から考えないといけないかったり、複数のクライアントに対応しようとするとスレッドやらイベント駆動やらを考えないといけないところで、なかなか質的なロジックの実装に手を付けられずもどかしくなります。 そのあたりの面倒な部分をまとめて良きに計らってくれるRPCライブラリを作っておくと良さそうです。 とはいえ、RPCレイヤーはネットワークプログラミングの中でも速度と信頼性に大きく影響する部分でもあります。実装を丸々隠蔽されてしまうと、後になってカスタマイズできずに困ったことになるかもしれません。 最初のプロトタイピングとして簡単に使えるが、カスタマイズも効くような柔軟性が欲しいところです。 そこでRubyの高速なイベント駆動IOライブラリであるRevと、バイナリベースのシリアライズ形式であるMes

    Ruby Rev + MessagePack による分散プログラム - Blog by Sadayuki Furuhashi
  • 1