マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。

目次

概要

  • RPCを実現するためにGoogleが開発したプロトコルの1つ。
  • 多くの言語でクロスプラットフォームで利用できる。
  • 一般的な利用シナリオ
    マイクロサービス型のアーキテクチャにおけるバックエンドサービスへの接続
    • モバイルデバイスからの接続
    • ブラウザからの接続

詳細

前提

Protocol Buffers

  • Protocol Buffersが前提と成る。
  • 故に、IDL(インターフェース定義言語)が必要になる。

HTTP/2

HTTP/2をトランスポートとして利用する。

機能

認証

以下を参考にすると、WebAPIの一般的な認証機構を流用する模様。

  • 参考

4 種類の通信方式

  • Unary 通信
    通常の関数コールのように扱える、
    1 リクエスト / 1 レスポンス型の通信方法
  • Server Streaming 通信
    • クライアントが 1 度リクエストを送信し、
      サーバから複数回数のレスポンスを返す。
    • プッシュ型の実装に利用できる。
  • Client Streaming 通信
    クライアントから複数回数のリクエストを送信し、
    それらを読み込んだサーバから 1 度のレスポンスを待つ。
  • Duplex Streaming 通信
    双方向ストリーミングの通信方式(TCP/IPの生実装のような)

ブロッキングとノンブロッキング

取り消しとタイムアウト

WCFとの関係

バインディングなど、WCFと似ている所がある。

ただ、上記を見ると、MSもgRPC推しであるもよう
.NET CoreWCFはマイグレ・パスの1つと思われる)。

参考

  • gRPC / MagicOnion? 入門 - xin9le.net
    https://blog.xin9le.net/entry/grpc-magiconion-intro
    • 概要
    • 4 種類の通信方式
    • プロジェクト構造と実装の前準備
    • Unary 通信
    • Server Streaming 通信
    • Client Streaming 通信
    • Duplex Streaming 通信
    • 独自型を送受信する
    • 明示的にステータスコードを返す
    • ヘッダーの利用
    • 通信可能なデータ量を変更する
    • ログを出力する
    • 送受信されているデータを可視化する
    • 接続ユーザーを特定する
    • Unary 通信中にプッシュ配信
    • 複数ユーザーへのプッシュ配信
    • 切断検知と自動再接続

Qiita


Tags: :.NET開発, :通信技術, :.NET Standard, :.NET Core, :ASP.NET, :ASP.NET Web API


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2020-04-08 (水) 10:58:37 (1473d)