[解決済み] gRPCで定義されたAPIをWebブラウザで表示させる方法
質問
gRPC-microservicesのJavascript/HTML GUIを作りたいと考えています。gRPC はブラウザ側でサポートされていないので、grpc を介してターゲット サービスを呼び出す node.js サーバーに接続するために、Web ソケットを使用することを考えました。 これを行うためのエレガントなソリューションを見つけるのに苦労しています。特に、私たちはマイクロサービス間でイベントをプッシュするためにgRPCストリームを使用しているためです。 フロントエンドとnode.jsサーバの間で通信するためだけに、2つ目のRPCシステムが必要なようです。これは、多くのオーバーヘッドと保守しなければならない追加コードであるように思われます。
どなたかこのようなことをした経験があるか、またはどのように解決されるかという考えをお持ちですか?
どのように解決するのですか?
編集:2018年10月23日以降 gRPC-WebプロジェクトはGA となっており、あなたの問題を解決するための最も公式/標準的な方法かもしれません。(たとえ今がすでに2018年であっても... ;) )
GA-Blogより。 gRPC-Web は gRPC と同様に、クライアント (Web) とバックエンドの gRPC サービスの間でプロトコルバッファを使用してサービスの「契約」を定義することができます。そして、クライアントを自動生成することができます。[...]"
私たちは最近、gRPC-Web ( https://github.com/improbable-eng/grpc-web ) - 提案された gRPC-Web プロトコルに従ったブラウザ・クライアントおよびサーバ・ラッパーです。そのレポにあるサンプルは、良い出発点を提供してくれるはずです。
Golang を使用している場合、スタンドアロン プロキシか gRPC サーバ用のラッパーが必要です。プロキシ/ラッパーは、ブラウザで読めるように、レスポンスボディにトレーラをパッケージ化するためにレスポンスを変更します。
情報公開: 私はこのプロジェクトのメンテナです。
関連
-
[解決済み] ページを再読み込みせずにURLを変更するにはどうすればよいですか?
-
[解決済み] JavaScriptで現在の日付を取得するには?
-
[解決済み] セレクタの子を取得する方法は?
-
[解決済み] package.jsonの各依存関係を最新バージョンに更新する方法は?
-
[解決済み] 画面サイズ、現在のウェブページ、ブラウザウィンドウのサイズを取得する
-
[解決済み] Node.jsのmodule.exportsの目的と使い方を教えてください。
-
[解決済み] 文字列が空白であるかどうかをチェックする
-
[解決済み] 各オブジェクトに?重複
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] jQueryを使用して、すべてのクリックイベントハンドラを削除するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] javascript の関数から `undefined` と `null` のどちらを返すのが良いのでしょうか?
-
[解決済み] 兄弟ノードを選択する方法はありますか?
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] JavaScriptのtoString()関数をオーバーライドして、デバッグ用に意味のある出力を提供することは可能でしょうか?
-
[解決済み] JavaScriptで文字列を数値に変換する最速の方法は何ですか?
-
[解決済み] javascript includes() 大文字小文字を区別しない
-
[解決済み] CORS: 認証モードは 'include' です。
-
[解決済み] Chromeのwebkitインスペクタで「Unsafe JavaScript attempt to access frame with URL...」というエラーが継続的に発生する。
-
[解決済み] JavaScriptで長い配列を小さい配列に分割する方法
-
[解決済み] JavaScript で css プロパティを使用して HTML 要素の背景色を設定する方法