オープンソースコラム


2010/07/20 17:57Update

Thrift - RPCでJavaやPython、PHP、Rubyなどの言語をシームレスに協調動作させるフレームワーク

TAGS: Thrift | Java | PHP | Python | Ruby | Perl | RPC | Apache

スポンサード リンク


Thriftは、Facebookが提供するオープンソースとして公開されたクロス言語サービス開発用フレームワークです。                          

こんな感じです。
1)「Thrift file」と呼ばれるシンプルな定義ファイルに「データタイプ」と「サービス・インタフェース」を定義する
例:
UserStorage.thrift
struct UserProfile {
  1: i32 uid,
  2: string name,
  3: string blurb
}
service UserStorage {
  void store(1: UserProfile user),
  UserProfile retrieve(1: i32 uid)
}


2)Thriftコンパイラで各言語のRPCクライアントとRPCサーバのコードを自動的に生成する
thrift --gen rb --gen cpp --gen java UserStorage.thrift

※この例では、rubyやC++、Java用のコードが生成されます。

3)Thrift Serverの起動

4)Thrift Clientの起動


参考資料


BLOG::broomie.net: Thriftが便利すぎる

Sponsored Link