Citrix ADC

gRPC

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

以下の理由により、Citrix ADC用のGRPCが推奨されます。

  • データセンターおよびパブリック/プライベート・クラウド・インフラストラクチャ用の分散アプリケーションを構築します。
  • モバイル、Web、またはクラウド向けのクライアント/サーバー通信を提供します。
  • クラウドサービスおよびアプリケーションへのアクセス
  • マイクロサービスの導入

Citrix ADCでGRPCが選ばれる理由

Citrix ADC GRPCは、HTTP/2を介して実装され、高いパフォーマンスとスケーラブルなAPIをサポートします。テキストよりもバイナリを使用すると、ペイロードがコンパクトで効率的に保たれます。Citrix ADCでは、HTTP/2要求が単一のTCP接続で多重化されるため、ネットワークリソースの使用を損なうことなく、複数の同時メッセージを転送できます。また、ヘッダー圧縮を使用して、リクエストとレスポンスのサイズを縮小します。

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

  1. 単項RPCかクライアントは、GRPCサーバーに単一の要求を送信し、バック単一の応答を取得します。

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

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

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

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

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

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

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

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

  • 負荷分散
  • コンテンツの切り替え
  • Web アプリケーションファイアウォール、認証などのセキュアなエンドポイントサービス
  • ポリシー設定
  • 統計とログ
  • コンテンツ書き換え、コンテンツフィルタリング
  • レイヤ 4 およびレイヤ 7 の最適化、TLS の提供
  • プロトコル変換のためのゲートウェイ・ソリューション

gRPC