Closed5
gRPCに関する調査と勉強
個人プロジェクトにて、gRPCを採用したアプリケーションを作成し、学びたくなったのでまとめて行く。
公式ドキュメントは充実しているが、思ったよりハンズオンの日本語文献が少なく、最初はとっかかりづらかった。
しかし、以下のリポジトリが英語含め、非常に有用なまとめになっているので、現在はこちらから参考文献をあたっている。
上記のリポジトリで言及されているハンズオン形式の記事は以下。
途中まで進めているが、動画もあり、一歩ずつ丁寧に解説されている。
かなり長いが、途中までの印象としては、本当に「完全なコース」になっていると感じる。
gRPCはHTTP/2を標準で利用し、HTTP/1.1を許容しない。
HTTP/2の仕様を活かすことで、その堅牢性や高速性、効率性などと各言語間の互換性を高めているようだ。
以下は、HTTP/2のデモサイトになる。
効率性が強調されている。
つまずいたポイント
そしてなぜかドキュメントに載っているコマンドで正常に動作しなかったが、以下のコマンドで生成できた。
コマンド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
参考になったリンク
ドキュメント作成にはこちらを使う。
上記のコマンドの2番目を実行するために必要。
今勉強しているScalaでも、gRPCが使えるみたい。
このスクラップは2023/01/16にクローズされました