問題タブ [vertx-httpclient]
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.
vert.x - Vertx WebClientは複数の頂点間で共有されていますか?
呼び出しをダウンストリーム サービスにルーティングする API ゲートウェイとして vert.x を使用しています。
現在、複数のバーチクルで共有される単一の Web クライアント インスタンスを使用しています (guice を介して注入されます)。
各バーティクルが独自の Web クライアントを持つことは理にかなっていますか? パフォーマンスの向上に役立ちますか?(私の各ゲートウェイ インスタンスは 64 個の vericles を実行し、1 秒あたり約 1000 のリクエストを処理します)
各アプローチの長所と短所は何ですか?
誰かが同じための理想的な戦略を理解するのを助けることができますか?
ありがとう
vert.x - Vert Httpクライアントの最大接続プーリング? このプールはエンドポイントごとですか、それとも合計ですか?
api-gateway に vertx Web クライアント (3.8.5) を使用し、setMaxPoolSize を 20 に設定しています。この制限はエンドポイントごとですか、それともすべてのエンドポイント全体の合計ですか?
36 のバーティクルとバーティクルごとに 1 つの Web クライアントを使用してアプリケーションを展開しています。これにより、合計で 36 の Web クライアントが作成され、アプリケーションは 1000 を超える異なる ip:port に接続する必要があります。ここで、接続プーリングの利点を利用するには、上記の制限が接続の合計にある場合、アプリケーションからの全体的な接続を 1000 * 36 >= 36000 に等しくする MaxPoolSize >= 1000 を設定する必要があります。上記の推奨設定は何ですか?使用事例?
maxPoolSize = 20 に設定し、いずれも有効期限が切れていない場合 (有効期限 = 60 秒)、そのうち 10 個だけが使用されているとします。プールにない ip:port に対する要求が来るとどうなりますか。キューに入れられるか、未使用の接続の 1 つが切断され、新しい接続 (新しい ip:port 用) が確立されますか?
異なる ip:port に対する複数の同時要求を処理するには、api-gateway のクライアント構成はどうすればよいですか?
ありがとう、ニティッシュ
vert.x - Vert.x httpClient - 同時リクエストの数を制限する方法はありますか?
x HTTP クライアント リクエストを送信する必要があります。リクエストを並行して送信したいのですが、一度に y を超えないようにしてください。
説明します: クライアントは同時に y 個のリクエストしか処理できません。x > y のときに x リクエストをクライアントに送信する必要があります。
最初の y リクエストがすべて終了するまで待ってから、別の y リクエストを大量に送信したくありません。クライアントは常に y リクエストを処理できるため、このアプローチは効率的ではありません。最初の y がすべて終了して別の y リクエストを送信するまで待機すると、クライアントは十分に活用されません。
- vert.x でどのように実装できますか?
一度に x リクエストを送信し、ハンドラーがコールバックを取得するたびに別のリクエストを送信することを検討しています。それは理にかなっていますか? - HttpClientOptions の maxPoolSize の意味は何ですか? 同時リクエストへの接続はありますか?
どうもありがとう!
vert.x - 頂点で、ヘッダーを変更して別のサーバーにリダイレクトする方法はありますか
私は Vertx を初めて使用します。リクエストを受け取り、ヘッダーを更新し、別のサーバーに送信するプロキシ サーバーを作成しています。応答を受信したら、完全な応答をそのままクライアントに送信します。
vertx では、新しいリクエストを作成し、新しいクライアントを使用して送信するために、このストレートフォワードを行う方法はありますか、または http メソッドとコンテンツタイプごとにハンドラーを実装する必要がありますか?