Laboこの広告は、90日以上更新していないブログに表示しています。gRPCgRPCと英語の勉強を兼ねてgrpc.ioを翻訳。Starts.このドキュメントでは、gRPCとプロトコルバッファについて紹介します。gRPCは、プロトコルバッファをIDL(インターフェース定義言語)と、それによって生成されるメッセージ交換フォーマットの両方として使用できます。gRPCとプロトコルバッファの両方もしくはどちらかを初めて使う方は本ドキュメントを読んでください!まずはgRPCを見てみたいと思ったら、クイックスタートをご覧ください。server.gRPCでは、クライアントアプリケーションは、異なるマシン上のサーバーアプリケーション上のメソッドをローカルオブジェクトであるかのように直接呼び出すことができ、分散アプリケーションやサービスを簡単に作成できます。多くのRPCシステムと同様に、gRPCはサービスを定義し、そのパラメータと戻り値の型でリモートで呼び出せるメソッドを指定するという考え方に基づいています。サーバー側では、このインターフェースを実装し、gRPCサーバーを実行してクライアント呼び出しを処理します。クライアント側では、サーバと同じメソッドを提供するスタブ(いくつかの言語では単にクライアントと呼ばれる)を持ちます。applications.gRPCのクライアントとサーバーはさまざまな環境(Google内のサーバーから各自のデスクトップに至るまで)で動作し、お互いに通信することができ、gRPCがサポートしている言語で書くことができます。gRPCサーバーはJavaで、クライアントはGo、Python、Rubyのような構成を簡単に作成できます。APIではgRPCバージョンのインターフェースが用意されており、アプリケーションにGoogleの機能を簡単に組み込むことができます。example:デフォルトでは、gRPCは構造化されたデータをシリアル化するためのGoogleの成熟したオープンソースメカニズムであるプロトコルバッファを使用します。(JSONなどの他のデータフォーマットでも使用できます)ここではどのように動作するかを簡単に紹介します。プロトコルバッファに精通している場合は、次のセクションに進んでください。プロトコルバッファで作業する場合の最初の手順は、protoファイル(.proto拡張子を持つ中身はテキストファイル)でシリアル化するデータの構造を定義することです。プロトコルバッファデータはメッセージとして構成され、各メッセージはフィールドと呼ばれる一連の名前と値のペアを含む情報の小さな論理レコードです。messages.データ構造を指定したら、プロトコルバッファコンパイラprotocを使用して、プロト定義からあなたの選んだ言語でデータアクセスクラスを生成します。データアクセスクラスは、各フィールドの簡単なアクセサ(name()やset_name()のような)を提供するだけでなく、全構造体をバイト情報にシリアライズするためのメソッドやバイト情報から構造を解析するためのメソッドを提供します。++で、上記の例に対してコンパイラを実行するとPersonというクラスが生成されます。このクラスをアプリケーションで使用して、Personプロトコル・バッファー・メッセージの取り込み、シリアル化、取り出しができます。messages:例で詳しく説明すると、通常のprotoファイルでgRPCサービスを定義し、RPCメソッドのパラメータと戻り値の型にはプロトコルバッファのメッセージを指定します。below.gRPCも、protoファイルからコードを生成するために特別なgRPCプラグインとともにprotocを使います。gRPCプラグインを使用すると、通常のプロトコルバッファのコードとともに、gRPCのクライアントとサーバーのコードが生成されます。この例をさらに詳しく見ていきます。Quickstart.プロトコルバッファドキュメントでプロトコルバッファに関するより詳細を知ることができ、選択した言語のQuickstartでgRPCプラグインを含めprotocのインストール方法を知ることができます。soon.しばらくの間、オープンソースのユーザにはプロトコルバッファが提供されていましたが、ここではproto3という新しいプロトコルバッファを使用しています。proto3は構文がやや簡略化され、便利な新機能がいくつか追加され、より多くの言語をサポートしています。Java)、Ruby、JavaScriptで使用できます。golang/protobufのGithubリポジトリではGo言語用のジェネレータも使用できます。その他の多くの言語も開発中です。proto3の言語ガイドと(使用可能な)各言語のリファレンスドキュメントを見ればより多くのことが分かります。現行のデフォルトバージョンとの主な相違点はリリースノートを参照してください。多くのproto3のドキュメントがまもなく公開予定です。versa.一般的にproto2(現在のデフォルトのプロトコルバッファバージョン)は使用できますが、proto3とgRPCを使用することをお勧めします。これにより、gRPCがサポートしているすべての言語を使用できるだけでなく、proto2クライアントとproto3サーバーの互換性(その逆も)の問題も回避することもできます。APIのデモを試してみた月別アーカイブ参加グループプログラミングはてなブログをはじめよう!hapoonさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。