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。客户端和服务器都使用读写流发送消息流。这两个流独立运行。

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

Citrix ADC 支持使用 GRPC 端点提供的服务以下功能:

  • 负载平衡
  • 内容切换
  • 保护终端服务,如 Web 应用程序防火墙、身份验证等。
  • 策略配置
  • 统计数据和日志记录
  • 内容重写、内容筛选
  • 第 4 层和第 7 层优化,TLS 产品
  • 协议转换的网关解决方案

gRPC