2017-01-26 6 views
3

これまではgrpcとprotocol-buffersについてしか読んでいませんでした。grpc readable/ascii(Devsはバイナリを恐れています)

私はいくつかのチームメイトと話をしました。彼らは以前それを聞いたことがありません。彼らはバイナリデータ転送を恐れている。

彼らはデバッグするのが難しいと懸念しています。

私はその気持ちを理解できます。

読める道を経由してgrpc /プロトコル・バッファにアクセスする方法がある(デバッグするためには?)

答えて

3

はあなたの直接の質問に答えるために、はい、あなたはいるProtobufのテキスト形式の表現はTextFormatと呼ばれることができます。これは通常のprotobufと同じ下位互換性保証を提供しませんが、人間が読み取り可能でJSONと似ています。

つまり、ワイヤ上でバイナリ形式のprotobufsを読み取ることは一般的には必要ではありません。 Protosのバイナリ形式は、各エンドポイントで非常に簡単にデコードして印刷することができます。たとえば、生成されたコードには、バイナリプロトタイプを取り、テキスト表現を出力するメソッドが含まれています。プロトタイプと対話するツールは、バイナリデータのこれらのテキストベースの表現を使用して、データを検査およびデバッグします。

その他の考慮すべき点:gRPCはSSLを使用して通信するため、通常はトラフィックを直接見ることはできません。それを解読するプログラムが必要です。これは通常、プロトを解読するポイントです。

最後に、データの他のテキスト表現、つまりJSONは、通常は送信前に縮小されているため、直接読み取ることはできません。フォーマッタを使って実行する必要があります。これは、バイナリプロトをデコードするのと同じレベルの作業です。

関連する問題