問題タブ [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.

0 投票する
2 に答える
3700 参照

grpc - grpc-go のセッションとリモート IP アドレス

grpc-go では、サービスを実装するときに、サービス インターフェイスはメソッドを定義し、 と のみContextを含みますRequest。のソースからContext、それは次のように簡単です

したがって、セッションを維持するために何らかのメタデータ (リモート IP アドレスやその他のデータを含む) を取得できるかどうか疑問に思います。

ありがとう。

0 投票する
1 に答える
2558 参照

debugging - gRPC-Go サービスをデバッグするにはどうすればよいですか?

gRPC-Goを使用することは、回復力があり、パフォーマンスが高く、スケーラブルな分散システムを構築するための良い方法です。私がよく理解していないのは、それで書かれたサービスを実際にデバッグする方法です。また、サポートされているワイヤ プロトコルは HTTP/2 だけですか?

0 投票する
1 に答える
2065 参照

go - protoc-gen-go struct xxx を map[string]interface{} に変換

.protoファイルによって生成された.pb.goファイルの構造体には、3 つの追加フィールドと、次のようなその他の要素があります。

ここに画像の説明を入力

この構造体jsonに変換するとき、1 つのフィールドが空の場合、そのフィールドは json に表示されません。これで、 jsonpb.Marshalerを使用して実行できることがわかりました。

今、私は構造体map[string]interface{}に変換し、 InfluxDBに入れ ます。構造体を map[string]interface{} に変換する必要があります。関数NewPointが必要です。このような: ここに画像の説明を入力 ここに画像の説明を入力

ここに画像の説明を入力

go でstructs.Map(value)関数を使用します。変換されたマップには 3 つの追加フィールドがあり、プログラムを実行すると次のようなエラーが発生します。

これらの 3 つのフィールドを削除すると、プログラムは正常に実行されます。これらの 3 つのフィールドは自動的に生成され、多くの構造体があります。どうすればいいですか?ありがとうございます!

0 投票する
1 に答える
363 参照

go - gRPC サービスの Envoy プロキシ「再試行」メカニズムの構成

Go で記述された gRPC サービスの Envoy プロキシ「再試行」メカニズムを構成しようとしています。現在、gRPC の再試行は、応答ヘッダーの gRPC ステータス コードに対してのみサポートされています。Envoy がインターセプトできるように、ヘッダーでステータス コードを送信する方法はありますか?

0 投票する
1 に答える
488 参照

go - 行.Scan() int32をGolang gRPC protobuf Enumフィールドに入れる方法は?

次に、SQL 行をエージェントの protobuf 構造体にスキャンします。

その権限タイプはvalue = 0、デフォルト タイプのシンプルな MariaDB INT() として保存されます。そのため、直接スキャンすることはできません。そのため、temp struct whereType int32を作成し、temp struct フィールドを protobuf struct にマップしようとした後、行をその temp struct にスキャンしましたが、うまくいきませんでした。MariaDB 文字列値を []byte 型フィールドにスキャンするときに発生した同様の問題がありましたが、 temp struct で解決しました[]byte(tmp.UUID)

非標準の protobuf フィールド タイプが使用されている場合に、データベース ROW (単一行) をスキャンして protubuf メッセージにする一般的なパターンは何ですか?

編集:追加の0値の処理が必要ですか?