問題タブ [grpc-java]
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.
java - マルチスレッド Java GRPC (1.1.2) クライアント用に ManagedChannel インスタンスをプールする必要がありますか?
TL;DR
grpc-javaManagedChannel
には暗黙的な接続プールがありますか、それともManagedChannel
インスタンスのプールはユーザーの責任ですか?
したがって、protoc 3.2.0 で Java grpc 1.1.2 を使用しています。grpc がクライアントに提供する接続プーリングの暗黙的なサポート (現在のところ) はないように思えます。しかし、grpc での接続の抽象化、つまりManagedChannel
オブジェクトは実際に複数の TCP 接続で機能するようです。あれは正しいですか?もしそうなら、ManagedChannel
それと一緒に接続プーリングが付属していますか? ManagedChannel
その場合、チャネルがスレッドセーフであり、クライアント全体で 1 つのインスタンスを使用するだけでよいため、おそらく接続プーリングについて心配する必要はありません。ただし、必要に応じてスループットを向上させるために、これらのチャネル オブジェクトもプールする必要があるかもしれません。grpc 自体でこれを行うような実装 (チャネルのプール) はありますか?
java - grpc-java の ServerBuilder でのエグゼキュータの正確な使用法は何ですか? ハンドラメソッドを実行するだけですか?
grpc-java はServerBuilder
、メソッドで定義されていない場合builder.executor()
、デフォルトで静的にキャッシュされたスレッド プールを使用する executor を使用します。このエグゼキュータの正確な用途は何ですか? ハンドラーメソッドを実行するだけですか、それとも「何か他のこと」も行いますか?
また、 grpc は netty worker をどのように定義していますEventLoopGroup
か? 具体的には、ワーカー スレッドがこのワーカー グループにどのように割り当てられているかを知りたいです。スレッド数のデフォルトはありますか、それともマシンのコア数の関数ですか? また、上記の質問に関連して、これらのネットワーカーはエグゼキューターとどのように連携しますか? I/O だけを処理するか (チャネルの読み取りと書き込み)?
編集:Netty、デフォルトでは(2 *コア数)ワーカースレッドを作成します。
c++ - C++ Windows と Linux の両方の grpc ライブラリはどこにありますか
C++ 環境を実行する組み込みデバイス用に grpc サーバーをセットアップしようとしています。https://github.com/grpc/grpc/blob/master/INSTALL.mdのリンクをたどりましたが、 grpc ライブラリを利用可能またはインストールするためにそこで何をする必要があるのか 理解できませんC++ ライブラリ。
C++ 用に grpc をセットアップします。C++ ランタイムの場所の詳細とは別に、windows/Linux 環境用の一般的なアプローチがあると思います
上記の場所でのアプローチはビルドするように言っていますが、ステップで失敗しています。
以下のようなエラーで、
ステップバイステップのプロセスへのより詳細なリンク/参照があれば誰でも本当に役に立ちます
spring - gRPC を使用して、Spring Boot アプリケーションを consul または Eureka と通信します
Spring Boot アプリケーションで grcp 通信を使用するにはどうすればよいですか。そして、grpc で使用する一般的なサービス検出方法を使用して、Spring Boot アプリケーションのエンドポイントを取得する方法。