Closed5

gRPCに関する調査と勉強

Kaikei EzakiKaikei Ezaki

個人プロジェクトにて、gRPCを採用したアプリケーションを作成し、学びたくなったのでまとめて行く。

公式ドキュメントは充実しているが、思ったよりハンズオンの日本語文献が少なく、最初はとっかかりづらかった。

しかし、以下のリポジトリが英語含め、非常に有用なまとめになっているので、現在はこちらから参考文献をあたっている。

Kaikei EzakiKaikei Ezaki

上記のリポジトリで言及されているハンズオン形式の記事は以下。
途中まで進めているが、動画もあり、一歩ずつ丁寧に解説されている。
かなり長いが、途中までの印象としては、本当に「完全なコース」になっていると感じる。

gRPCはHTTP/2を標準で利用し、HTTP/1.1を許容しない。
HTTP/2の仕様を活かすことで、その堅牢性や高速性、効率性などと各言語間の互換性を高めているようだ。
以下は、HTTP/2のデモサイトになる。
効率性が強調されている。

Kaikei EzakiKaikei Ezaki

つまずいたポイント

  • PATHが通らない。インストールが正常に進まない。
    • protocに関してはこちらに従うだけで良い
    • Goで実装するならこちらも必要

そしてなぜかドキュメントに載っているコマンドで正常に動作しなかったが、以下のコマンドで生成できた。

コマンド1が間違っていたので修正。(2022年9月16日)
authenticationパッケージを作成する場合。

$ protoc --go_out=./pkg/authentication --go_opt=paths=source_relative     --go-grpc_out=./pkg/authentication --go-grpc_opt=paths=source_relative auth.proto

$ protoc --doc_out=./doc  --doc_opt=markdown,auth.md auth.proto

参考になったリンク

このスクラップは2023/01/16にクローズされました