A certain engineer "COMPLEX"

.NETでRPCを試してみる gRPC編 第0回

Introduction


RESTを使って、簡単なクラサバアプリを構築したのですが、

  • バイナリの転送が重い
    • jsonまたはxmlで返すから、BASE64で通信量が増える

というのが、制約になって食指が動きません。

そんな中、gRPC なるGoogleが作ったHTTP/2を標準でサポートした新しいRPC (Remote Procedure Call ) フレームワークを見つけました。
2015年2月に発表されたらしいので、今さら感が漂いますが...

A high performance, open source, general RPC framework that puts mobile and HTTP/2 first.

HTTP/2を基礎としており、Protocol Buffersを使ってサービスを定義するので高速な通信が可能、と最新技術を使っているのも、カッコいい。
素晴らしいのは、言語サポートが広く、公式ページによれば、

  • C++
  • Java
  • Python
  • Go
  • Ruby
  • Node.js
  • C#
  • Objective-C
  • Android
  • Java
  • PHP

をサポートしています。

C#をサポートしているので、試してみないわけにはいきません。
Pythonもサポートしており、簡単にテストできそうです。

Preparation


自分でビルドするか、nugetでインストールもできます。
お手軽に nuget でインストールします。

C# implementation of gRPC - an RPC library and framework. See project site for more info.

簡単ですね。

Conclusion


今回は導入のみ。
次回は、C#-Pythonで通信してみます。

コメントを残す

メールアドレスが公開されることはありません。

%d人のブロガーが「いいね」をつけました。