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.客户端发送一系列消息,等待服务器读取并返回响应。

    例子:返回(HelloResponse)

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

    例子:rpc ChatSession(流HelloRequest)返回

Citrix ADC通过gRPC端点支持以下功能:

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