Skip to content

kazuki-310/grpc-go-learning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

基礎編

gRPCを実装するにあたり、最低限ここは理解が必要というポイントをまとめてあります。

2章 RPCの具現化であるgRPC

そもそもgRPCとはどのような考え方で作られた通信方式なのかを学んだ上で、それを実現させるためにどのような技術が使われたのかを紹介します。

3章 protoファイルでProcedureを定義する

gRPCにはメソッドというものが用意されており、その「メソッドを呼び出す」という形で通信が行われます。 この章ではメソッドの形を定義するためのprotoファイルの書き方を簡単に触れておきます。

4章 protoファイルからコードを自動生成する

protoファイルで「gRPCでどのようなメソッドを呼び出したいか」が定義されたので、そこから実際にそのような通信をするためのGoのコードを作っていきます。 そしてprotoファイルからはgRPCクライアント/サーバー内で使うコードを自動生成させることができるのです。 この章ではそのコード自動生成のやり方を学びます。

5章 gRPCサーバーを動かしてみよう

protoファイルから自動生成されたコードを使って、簡単なgRPCサーバーを実装します。

6章 gRPCクライアントを動かしてみよう

protocコマンドから作られたコードで作れるのは、サーバーだけではありません。 今度はgRPCクライアントを実装し、5章で作ったサーバーにリクエストを送ってみます。

7章 gRPCで実現できるストリーミング処理

gRPCは「1リクエスト-1レスポンス」の通信だけではなく、リクエストとレスポンスがN:Mのストリーミングも行うことができます。 ここでは、gRPCが扱うストリームの種類について説明した後、それをHTTP/2を使ってどのように実現しているのかについて簡潔に触れたいと思います。

8章 サーバーストリーミングの実装

この章では、サーバーストリーミングRPCのコードをサーバー側・クライアント側ともに実装して動かしてみます。

9章 クライアントストリーミングの実装

ここでは、クライアントストリーミングRPCを実装し動かします。

10章 双方向ストリーミングの実装

ここでは、gRPCが行うことができる3つ目のストリーミング処理、双方向ストリーミングを実装して動かします。

応用編

ここからは「これを知っているとちょっとレベルの高いことができる」というAdditionalな内容をまとめてあります。

11章 gRPCにおけるステータスコード

HTTPレスポンスステータスコードのように、gRPCでもサーバー内での処理の成功・失敗を表すための独自ステータスコードが存在します。

この章では、エラーが起きたときに適切なステータスコードを使用してレスポンスを返すためにはどうしたらいいかを説明します。

12章 インターセプタの導入 - サーバーサイド編

通常のHTTPサーバーでは、ハンドラの処理前後に別の処理を差し込むのはミドルウェアの役割です。 そして、gRPCで同じ役割を果たすのはインターセプタと呼ばれています。

この章では、gRPCサーバーに導入するインターセプタを作成し導入するやり方を紹介します。

13章 インターセプタの導入 - クライアントサイド編

gRPCにおいて、インターセプタというのは何もサーバーサイドだけのものではありません。 クライアントがリクエストを送信・レスポンスを受信するときに前後処理を挟むものもインターセプタと呼ばれています。 ここではクライアントサイドのインターセプタを作成・導入する方法を説明します。

14章 メタデータの送受信

メッセージデータ以外にも、認証情報やContent-Type、クライアントの種類などメタデータを送りたいという時があるかと思います。 ここでは、gRPCでメタデータの送受信をどう実装するかについて見ていきます。

15章 gRPCとGoの並行処理

gRPCのサーバー・クライアントコードを書くにあたって、どのような処理がゴールーチンセーフなのかをまとめて紹介します。

デプロイ編

ここからは、gRPCサーバーをAWSにデプロイして動かすときに必要になる知識をまとめてあります。

16章 gRPCサーバーをAWS上で動かす

せっかく作ったgRPCサーバーなのですから、ローカルだけではなくて実環境上でも動かしてみたいはずです。 この章では、AWSのECS/EKSでgRPCコンテナをデプロイする手順について簡単に紹介します。

17章 gRPCコンテナにヘルスチェックを実行する

せっかくクラウド上にgRPCサーバーをデプロイできたのですから、クラウドの便利機能を上手く活かした運用がしたいと思うはずです。 ここでは、ECSでのヘルスチェック機能を使うために必要になるgRPCサーバー・AWSでの設定を説明します。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages