Citrix ADC

gRPC

Citrix ADC设备中的gRPC是一个轻量级、高性能、开源的通用远程过程调用(RPC)框架。该框架对于在任何操作系统上运行的多种语言都是最佳的。此外,与其他协议相比,gRPC提供了更好的性能和安全性。

Citrix ADC首选gRPC,原因如下:

  • 为数据中心和公共/私有云基础设施构建分布式应用程序。
  • 为移动、web或云提供客户机-服务器通信。
  • 访问云服务和应用程序
  • Microservice部署

为什么思杰ADC采用gRPC

Citrix ADC中的gRPC通过HTTP/2实现,以支持高性能和可扩展的api。使用二进制而不是文本可以保持有效负载的紧凑和高效。在Citrix ADC中,HTTP/2请求通过单个TCP连接进行多路复用,允许多个并发消息在不影响网络资源使用的情况下传输。它还使用报头压缩来减少请求和响应的大小。

gRPC支持以下类型的服务方法,用于客户端远程调用参数和返回类型。

  1. 一元RPC.客户端向gRPC服务器发送单个请求并获得单个响应。

    例子:rpc SayHello(HelloRequest)返回(HelloResponse);

  2. 服务器流RPC.客户端向gRPC服务器发送单个请求并获得流响应。

    例子:rpc StreamingResponse(HelloRequest)返回(HelloResponse);

  3. 客户端流式RPC.客户端发送一系列消息,等待服务器读取并返回其响应。

    例子:rpc介绍你自己(流HelloRequest)返回(HelloResponse)

  4. 双向流RPC.双方的客户端和服务器都使用读写流发送消息流。这两个流独立运行。

    例子:rpc ChatSession(流HelloRequest)返回(流HelloResponse)

思杰ADC通过gRPC端点为其服务提供以下功能:

  • 负载平衡
  • 内容切换
  • 安全端点服务,如Web应用程序防火墙,身份验证。
  • 策略配置
  • 统计和日志记录
  • 内容重写,内容过滤
  • 第4层和第7层优化,TLS提供
  • 用于协议转换的网关解决方案
gRPC