問題タブ [grpc-go]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
go - gRPC クライアント ストリーミング フロー制御は go でどのように機能しますか?
Go のクライアント ストリーミング gRPC サービスでフロー制御がどのように機能するかを知りたいです。
stream.SendMsg()
具体的には、クライアント側のブロックで呼び出しがいつ機能するかを知りたいです。ドキュメントによると:
SendMsg() は までブロックします:
- トランスポートで m をスケジュールするのに十分なフロー制御がある、または ...
では、ストリームのフロー制御メカニズムの仕様は何ですか? たとえば、ストリームからのメッセージの読み取りを担当するサーバー側のコードが、メッセージの読み取り速度が十分でない場合、どの時点で SendMsg() ブロックが呼び出されるのでしょうか?
サーバーがクライアントにそれ以上のデータを受信する準備ができていないことを伝えるために実装された何らかのバックプレッシャーメカニズムはありますか? それまでの間、バックプレッシャ信号の前に正常に送信されたすべてのメッセージはどこにキューに入れられますか?
go - gRPC 実装のパフォーマンス - Java v/s goLang
gRPC は、多くの言語で rpc サーバーとクライアントの実装をサポートしています。goLang v/s Java で gRPC サーバーとクライアントを実装する際に、パフォーマンスに大きな違いがあるかどうかを知る必要があります。高いパフォーマンスとスケールを求めるなら、go と Java のどちらの実装が良いでしょうか
ありがとうギリッシュTS