2016-05-03 35 views
5

私はgRPCを使用して呼び出しページを作成しています。これを行うためのオプションを把握しようとしています。これは賢明な質問ですか?これを行うために私が使用できるリソースは何ですか?gRPCのページ分割

答えて

1

ページネーションは、チャンク化バイナリペイロードと非常によく似ています。 gRPC + Image Uploadの私の反応はおそらく読む価値があります。

これは、通常、ページングのスループットが非常に低く、別の要求を使用するのが難しくないため、ページ分割のトレードオフが異なる可能性があります。スループットが低いと、フロー制御がすぐに開始され、有効になることがありません。検索結果など完全に動的な結果を得るには、別々のリクエストを使用するのが難しくなりますが、リソースの子のような静的なデータではそれほど問題になることはありません。

gRPCフロー制御がバッファリングする可能性があるため、ストリーミングを使用してアプリケーションレベルのフロー制御を導入することもできます。アプリケーションレベルのフロー制御では、ストリーム上のメッセージを使用して、必要なレスポンスの数を要求します。これは、使用や実装が難しくありません。ネイティブにgRPCに正確なメッセージベースのフロー制御をサポートすることについての話がありましたが(この場合は同様の結果になります)、それが起こるかどうかはいつか不明です。

0

この質問はかなり古いですが、回答に欠けているものがあると感じています。

ストリーミングはIMHOが好ましいですが、私は伝統的なページネーションが非常に有用な場合があります。ユーザーストアへのCRUDアクセスを可能にし、ListUsersSearchUsers rpcを持つuserサービスを想像してみましょう。その結果をページにまとめることは、ここでずっと便利です。

私は個人的にこれに向けてGoogleのアプローチを使用しています。https://github.com/googleapis/googleapis/blob/master/google/cloud/resourcemanager/v2/folders.proto