gRPCに関するkanda_kのブックマーク (4)

  • grpc-gateway を実運用で使うための追加実装|Dentsu Digital Tech Blog

    電通デジタルでバックエンドの開発をしている平沼です。 Dentsu Digital Advent Calendar 2020 の 18 日目の記事になります。前回の記事は「Micro Frontends 導入の覚書」でした。 弊社では、社内 / グループ会社向けのデジタル広告運用実績管理システムのバックエンドサービスに gRPC を利用しています。また Web などから HTTP によるアクセスができるように、 gRPC から HTTP に変換して API を提供する grpc-ecosystem/grpc-gateway も利用しています。 grpc-gateway を利用するとき、 README.md 通りの使い方ではサービス運用上困ることがあります。今回はそのうち下記 3 点を取り上げて対応方法を紹介します。 ・grpc-gateway サーバ自身のヘルスチェックをしたい ・認証情報

    grpc-gateway を実運用で使うための追加実装|Dentsu Digital Tech Blog
    kanda_k
    kanda_k 2020/12/18
    grpc gatewayを使う上で必要だったことがまとめられている
  • Go言語でのgRPCコード生成(2020年10月以降版)|Dentsu Digital Tech Blog

    でご紹介したGo言語でのgRPCコード生成の状況の続報(2020年末)をお伝えしたいと思います。 概要としては前回の記事に記載した通りで ・Protocol Buffer側のレポジトリは golang/protobuf から protocolbuffers/protobuf-go に移行 ・gPRC側のレポジトリのgrpc/grpc-goに新たにprotoc-gen-go-grpcコマンドができた なのですが、以下が追加になりました。 ・gPRC用のコードを生成するには Protocol Buffersのメッセージやシリアライズに protocolbuffers/protobuf-go のprotoc-gen-go、gPRCのサーバ/クライアントに grpc/grpc-goのprotoc-gen-go-grpc、と両方を使うことになった 以降で詳細をご紹介します。 経緯2020年3月のpr

    Go言語でのgRPCコード生成(2020年10月以降版)|Dentsu Digital Tech Blog
    kanda_k
    kanda_k 2020/11/17
    goのprotoc周りのツールは、どれを使えばいいのか混乱していたので朗報
  • 帰ってきた optional - Protocol Buffers v3.12 から Field presence が導入|Dentsu Digital Tech Blog

    帰ってきた optional - Protocol Buffers v3.12 から Field presence が導入 電通デジタルでバックエンド開発をしている齋藤です。 今回は Protocol Buffers v3.12 のリリースで追加された Field presence 機能について調べたことをご紹介します。 前提:v3.12 以前の Protocol Buffers v3 における optional な値の扱いProtocol Buffers v3 (proto3) では v2 (proto2) にはあった optional ながなくなり、optional を扱うにはひと工夫必要でした。加えて、Message の Filed に値を入れなかった場合は、Fieldの型のディフォルト値が送られてきたとみなす仕様になっています(各型のディフォルト値はこちら)。 そのため、開発者は

    帰ってきた optional - Protocol Buffers v3.12 から Field presence が導入|Dentsu Digital Tech Blog
    kanda_k
    kanda_k 2020/07/17
  • gRPC ServerのエラーをInterceptorでgRPC Error Statusにマッピング(Go言語版)|Dentsu Digital Tech Blog

    電通デジタルでバックエンドの開発をしている齋藤です。弊社では社内/グループ会社向けデジタル広告運用実績の管理システムバックエンド APIgRPC を利用しています。 記事では gRPC サーバ内で発生したエラーを gRPC Server Interceptor で gRPC Error Status にマッピングする試作をご紹介します。 ユースケースgRPC を使った API サーバでエラーが発生した場合、エラーハンドリングとロギングをした後に gRPC クライエントへのエラーを伝えます。ここで、サーバのエラーを gRPC クライアントに伝えるエラーに変換する処理が発生します。クライアントに伝えるエラーメッセージはサーバで発生したことそのままではなく、クライアントに必要な情報にする必要があります。この処理は全ての gRPC のメソッド呼び出しで実施します。そこで、処理を gRPC

    gRPC ServerのエラーをInterceptorでgRPC Error Statusにマッピング(Go言語版)|Dentsu Digital Tech Blog
  • 1