メニュー

スターティングgRPC

発売日: 2020/5/8 想定ページ数: 166ページ ISBN: 9784844378457 全文検索: 対応
★★★★★ ★★★★★ 0件
gRPCはGoogleが開発した高速なAPI通信とスキーマ駆動開発を実現するRPCフレームワークであり、マイクロサービス間の内部通信を実現する有力な選択肢として活用されはじめています。本書ではサーバー側(Go)/ クライアント側(Ruby)と異なる言語を用いて、いくつかのサンプルアプリケーションを実装しながら、gRPCとRESTの違い、Protocol Buffersにおけるスキーマの文法、単純なRPCから双方向ストリーミングRPCまでのgRPCにおける基本的な実装方法などを平易に説明します。
【目次】
第1章 gRPCとRESTの違い
第2章 .protoファイルを書いてみよう
第3章 Go言語でつくるgRPCサーバー
第4章 RailsアプリケーションからgRPCサーバーにアクセスする
第5章 インターセプタでログや認証を追加してみよう
第6章 単方向ストリーミングでつくる画像アップロードAPI
第7章 双方向ストリーミングでつくるリアルタイムリバーシ
付録A Google APIに学ぶprotoスタイルガイド
付録B Protocol Buffersの自動コード生成仕様(Go編)
付録C Protocol Buffersの自動コード生成仕様(Ruby編)
目次プレビュー
  • はじめに
  • 第1章 gRPCとRESTの違い
  • 第2章 .protoファイルを書いてみよう
  • 対象環境
  • ソースコードについて
  • ご意見やご質問など
  • 免責事項
  • 1.1 gRPCとは?
  • 1.2 RESTと比較した場合のgRPCの長所
  • 1.3 RESTと比較した場合のgRPCの短所
  • 1.4 スキーマファースト開発による生産性の高さが最大の長所
  • 2.1 Potocol Buffers
  • 2.2 バージョン
  • 2.3 パッケージ定義
  • 2.4 import
  • 2.5 サービスとRPCメソッド定義
  • 2.6 スカラー型
  • 2.7 メッセージ型
  • 2.8 repeated / リスト(配列)
  • 2.9 列挙型
  • 2.10 マップ(連想配列)
  • 2.11 oneof
  • 2.12 Well Known Types
  • 2.13 コメント
  • 2.14 各言語で実際にどのようなコードが生成されるか
  • 3.1 単項RPC
  • 3.2 スキーマファースト
  • 3.3 .protoファイルを作る
  • 3.4 Go言語でのサーバー側の実装と解説
  • 3.5 CLIツールで動作確認する
  • 4.1 クライアントの構成と環境構築
  • 4.2 protoコンパイラでコードを自動生成する
  • 4.3 自動生成されたコードを呼び出すモデルを追加する
  • 4.4 gRPCのサービスに接続する
  • 4.5 RPCメソッドを呼び出す
  • 4.6 動作確認
  • 4.7 まとめ
  • 5.1 インターセプタとは?
  • 5.2 自作のインターセプタを追加する
  • 5.3 go-grpc-middlewareを使う
  • 5.4 インターセプタでログを出力する
  • 5.5 インターセプタで認証を追加する
  • 6.1 ストリーミングを使うgRPCアプリケーションの設計
  • 6.2 Goでつくる画像アップロードサーバー
  • 6.3 Rubyでつくる画像アップロードクライアント
  • 6.4 まとめ
  • 7.1 リアルタイムリバーシの要件
  • 7.2 アプリケーションの構成
  • 7.3 リアルタイムリバーシの基本ロジック
  • 7.4 .protoファイルでスキーマ定義する
  • 7.5 buildパッケージ
  • 7.6 Matchingサービスのサーバーとクライアント
  • 7.7 Gameサービスのサーバーとクライアント
  • 7.8 main関数の実装
  • 7.9 リアルタイムリバーシで遊んでみよう
  • 7.10 まとめ
  • A.1 Googleの推奨規則
  • A.2 インタフェース名
  • A.3 メソッド名
  • A.4 メッセージ名
  • A.5 列挙型
  • A.6 フィールド名
  • A.7 Google以外の事例
  • B.1 はじめに
  • B.2 コンパイラ呼び出し
  • B.3 パッケージ
  • B.4 メッセージ型
  • B.5 フィールド
  • B.6 列挙型
  • B.7 拡張機能 (proto2)
  • B.8 Service
  • C.1 はじめに
  • C.2 コンパイラ呼び出し
  • C.3 パッケージ
  • C.4 メッセージ型
  • C.5 フィールド
あとがき

まだレビューが投稿されていません