Upgrade to Pro — share decks privately, control downloads, hide ads and more …

4.1.3 ThriftとProtocol Buffers

koyamaso
April 22, 2021
35

4.1.3 ThriftとProtocol Buffers

「データ指向アプリケーションデザイン」輪講資料

koyamaso

April 22, 2021
Tweet

Transcript

  1. Apache Thrift https://thrift.apache.org/ 「スケーラブルな言語間サービス開発」のためにFacebookにて開発された 遠隔手続き呼び出し (RPC) フレームワーク .thriftファイルにRPCを定義し、それをもとにやり取りする 対応言語: C++,

    Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, Smalltalk, OCaml and Delphi and other languages. 今回はサーバをNodejs,クライアントをRustにしてping pongしてみる
  2. 82 21 02 04 70 69 6e 67 18 04

    70 69 6e 67 00 4文字 Compact Protocolでエンコードされたものを読む 第一引数”ping”“\0” 終端を表す 4文字 rpc名”ping” 0 0 0 1 1 0 0 0 フィールドタグ1 種類8(文字列)
  3. Appendix 以降、Protocol Buffers ( https://developers.google.com/protocol-buffers/ )の説明 gRPC ( https://grpc.io/ )

    はProtocol Buffersを使うRPCフレームワーク gRPCは比較的有名なフレームワークだが、今回は紹介せず、 Protocol Buffers のみ紹介する