問題タブ [grpc-node]
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.
node.js - Nestjs の監視可能な grpc サービスからデータを取得し、
マイクロサービス間の通信に gRPC サービスを使用したいと考えています。しかし、Grpc サービスから応答を取得するときに、メソッドを返す前に、いくつかの変更と機能を実行したいと考えています。
サンプル プロジェクト: https://github.com/nestjs/nest/tree/master/sample/04-grpc
このような:
ただし、元の応答ではなく、console.log に以下のメッセージを表示します。
docker - gRPC アーキテクチャ (gRPC、nginx、docker) に関する懸念事項
私は現在、楽しみのために (gRPC トレースをサポートする) トレース ツールを作成しようとしていますが、このアーキテクチャについて適切に考えているかどうかについて混乱していました。追跡ツールは、リクエストのワークフロー/ジャーニー全体を追跡します (ユーザーがボタンをクリックした瞬間から、リクエストが API ゲートウェイに送られ、マイクロサービス間を行き来するまで)。
アプリケーションが書店で、最大 2 つのマイクロサービス (おそらくアカウントと書籍) に分割されているとします。ユーザー インターフェイスがあり、ボタンをクリックすると、ユーザーは本をお気に入りに登録できるとします。この例を単純にするために、2 つのマイクロサービスのみを使用しています。
**私の目標は、そのリクエストを追跡する方法を見つけることです。したがって、リクエストがnginxに送信されると想像できます
懸念事項 #1:リクエストが nginx に送信されるとき、それは HTTP です。クールですが、要求がマイクロサービスに送信されるときは、grpc 呼び出し (または http2 経由) です。nginx は http リクエストを取得し、そのリクエストを http2 経由で送信できますか? これを正しく表現しているかどうかはわかりません。nginx plus が http2 をサポートしていることは知っています。grpc にも grpc ゲートウェイがあることも知っています。
懸念事項 2:コンテナー化。両方のマイクロサービスを個別にコンテナ化する必要がありますか、それとも Docker コンテナ全体をコンテナ化する必要がありますか。nginx と docker をリンクするのは簡単ですか?
懸念事項 3: gRPC リクエストをトレースする場合 (リクエストが実行される時間を調べる場合)、ミドルウェア ロガーまたはトレース API (opentracing、jaegar など) を使用することを検討しています。gRPC が要求を行うのにかかる時間を他にどのように把握すればよいでしょうか?
これらの懸念に対処できるかどうか、私の思考プロセスが正しいかどうか、このアーキテクチャが機能であるかどうか疑問に思っていました。
grpc - grpc を使用した 2 つのマイクロサービス間の通信はどのように機能しますか?
書店のようなアプリケーションがあり、それをバックエンドで 2 つの単純なマイクロサービスに分割するとします ->
マイクロサービス 1: 書籍購入者 (アカウントあり) マイクロサービス 2: 書籍リスト。
フロントエンドからリクエストを行い、リバース プロキシに送信され、リクエストがマイクロサービス 1 に送信されたとします。
マイクロサービス 1 がマイクロサービス 2 と通信する方法をどの程度正確に視覚化できますか?
マイクロサービスをコンテナ化し、その中に grpc クライアントとサーバーを持っていますか?
クライアントはマイクロサービス 1 のサーバーとマイクロサービス 2 のサーバーとも通信しますか?
この画像では、クライアントとサーバーを別々にコンテナ化しているように見えます...?
grpc - grpc-node にリクエスト時間を記録するオプションはありますか?
grpc-node にリクエスト時間を記録するオプションはありますか? opentelemetry と jaegar を使用して応答時間をログに記録できました (応答時間を表示するため)。このための npm パッケージも見つかりませんでしたが、grpc-node のオプションが見つかったかどうかを尋ねたかっただけです。