Thrift - RPCでJavaやPython、PHP、Rubyなどの言語をシームレスに協調動作させるフレームワーク
Thriftは、Facebookが提供するオープンソースとして公開されたクロス言語サービス開発用フレームワークです。
こんな感じです。
1)「Thrift file」と呼ばれるシンプルな定義ファイルに「データタイプ」と「サービス・インタフェース」を定義する
例:
UserStorage.thrift
2)Thriftコンパイラで各言語のRPCクライアントとRPCサーバのコードを自動的に生成する
※この例では、rubyやC++、Java用のコードが生成されます。
3)Thrift Serverの起動
4)Thrift Clientの起動
BLOG::broomie.net: Thriftが便利すぎる
こんな感じです。
1)「Thrift file」と呼ばれるシンプルな定義ファイルに「データタイプ」と「サービス・インタフェース」を定義する
例:
UserStorage.thriftstruct 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が便利すぎる