gRPC 1.30.1 发布了。gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。
新版本包含改进和错误修复,主要更新内容如下:
Core
此版本中添加了以下新的 xDS 功能:
- 根据路径(前缀、完整路径和安全正则表达式)及标头请求匹配。
- 根据权重请求路由到多个集群。
其他:
- 删除 MAX_EPOLL_EVENTS_HANDLED_EACH_POLL_CALL 以确保及时处理事件。
- 高级别 DNS 错误消息中包含目标名称。
- 删除 xds-experimental URI 方案。
- 修复 grpc_resource_user_quota 的内存泄漏。
- 将 ref 存储到 external_watchers_ 映射中的 ExternalConnectivityWatcher。
- 更新带有 “service_name” 字段的 grpclb 配置。
- 修复 RemoveExternalConnectivityWatcher 中可能出现的死锁。
- 在 C 核心和所有包装语言中启用 TLS 1.3。
- 在消息解压缩前添加消息大小检查,并更改顺序。
- 修复由 SSL 服务器握手程序的同时更新引起的争用状况。
- 为 ping clocks 添加丢失的重置,以避免由于 “too_many_pings” 而错误地发送 GOAWAY 帧。