Citrix ADC

gRPC

Citrix ADCアプライアンスのgRPCは、軽量で高性能なオープンソースのユニバーサルリモートプロシージャコール(RPC)フレームワークです。このフレームワークは、任意のオペレーティングシステムで実行されている複数の言語で機能するのに最適です。また、他のプロトコルと比較した場合、gRPCはより優れたパフォーマンスとセキュリティを提供します。

Citrix ADC用のgRPCは、次の理由で推奨されます。

  • データセンター向けの分散アプリケーションを構築し、 public/private クラウドインフラストラクチャ。
  • モバイル、Web、またはクラウドにクライアントサーバー通信を提供します。
  • クラウドサービスとアプリケーションにアクセスする
  • マイクロサービスのデプロイ

Why gRPC in Citrix ADC

Citrix ADCのgRPCは HTTP/2 高性能でスケーラブルなAPIをサポートします。テキストよりもバイナリを使用すると、ペイロードがコンパクトで効率的になります。Citrix ADCでは、 HTTP/2 要求は単一のTCP接続を介して多重化されるため、ネットワークリソースの使用量を犠牲にすることなく、複数の同時メッセージを送信できます。また、ヘッダー圧縮を使用して、要求と応答のサイズを削減します。

gRPCは、クライアントがパラメーターをリモートで呼び出して戻り値の型を返すために、次の種類のサービスメソッドをサポートしています。

  1. 単項RPC。クライアントは単一のリクエストをgRPCサーバーに送信し、単一のレスポンスを返します。

    例: rpc SayHello(HelloRequest) returns (HelloResponse);

  2. サーバーストリーミングRPC。クライアントは単一のリクエストをgRPCサーバーに送信し、ストリーム応答を取得します。

    例: rpc StreamingResponse(HelloRequest) returns (HelloResponse);

  3. クライアントストリーミングRPC。クライアントは一連のメッセージを送信し、サーバーがその応答を読み取って返すのを待ちます。

    例: rpc IntroduceYourself(stream HelloRequest) returns (HelloResponse)

  4. 双方向ストリーミングRPC。両側のクライアントとサーバーの両方が、読み取り/書き込みストリームを使用してメッセージのストリームを送信します。2つのストリームは独立して動作します。

    例: rpc ChatSession (stream HelloRequest) returns (stream HelloResponse)

Citrix ADCは、gRPCエンドポイントを使用したサービスに対して次の機能をサポートしています。

  • 負荷分散
  • コンテンツの切り替え
  • Webアプリケーションファイアウォール、認証などの安全なエンドポイントサービス。
  • ポリシー設定
  • 統計とログ
  • コンテンツの書き換え、コンテンツフィルタリング
  • Layer 4 and Layer 7 optimizations, TLS offering
  • Gateway solutions for protocol translations
gRPC