学習ロードマップ
Protocol Buffers と HTTP/2 を使った高速な RPC である gRPC の基礎と、マイクロサービス間通信への適用パターンを学ぶロードマップ。
このロードマップが扱うもの
このロードマップは、マイクロサービスや社内 API のインターフェースに gRPC を採用したいと考えているバックエンドエンジニアを対象にしています。学び終えたときには、Protocol Buffers によるスキーマ設計、4 種類の通信パターン、エラー/認証/タイムアウト設計まで含めて、gRPC ベースのサービスを実運用に耐える形で実装・運用できる状態を目指します。
このロードマップの全体像
このロードマップは、マイクロサービスや社内 API のインターフェースに gRPC を採用したいと考えているバックエンドエンジニアを対象にしています。学び終えたときには、Protocol Buffers によるスキーマ設計、4 種類の通信パターン、エラー/認証/タイムアウト設計まで含めて、gRPC ベースのサービスを実運用に耐える形で実装・運用できる状態を目指します。
1. RPC と HTTP/2 の基礎: REST との考え方の違い、HTTP/2 の多重化、フレーミングを押さえ、gRPC が速い理由を納得感を持って理解します。 2. Protocol Buffers でスキーマを書く: message / service 定義、フィールド番号の運用、互換性のある変更方針を身につけます。 3. 4 種類の通信パターン: Unary / Server streaming / Client streaming / Bidirectional streaming の使い分けを、実装例を通して掴みます。 4. エラー・タイムアウト・リトライ: gRPC のステータスコード体系、deadline、クライアント側リトライ戦略を標準化します。 5. 認証・メタデータ・インターセプター: TLS、トークン伝搬、共通処理の差し込み方を整理し、横断的関心事を分離します。 6. マイクロサービスへの適用と運用: ロードバランシング、サービスディスカバリ、ログ / メトリクス / トレースとの統合を設計します。
gRPC は高速ですが、ブラウザから直接は扱いにくく、外部公開 API には gRPC-Gateway や GraphQL / REST との併用を考える必要があります。Protocol Buffers のフィールド番号や型変更は互換性ルールを守らないと一気にサービス間連携が壊れるため、スキーマ運用のルールづくりが重要です。周辺では、HTTP/2、TLS、認証/認可、サービスメッシュ、分散トレーシング、API ゲートウェイ、スキーマバージョニングを並行して理解しておくと、gRPC を採用するかどうかの判断軸が明確になります。
ロードマップ