gRPC 1.23.0 发布,谷歌开源的高性能 RPC 框架

来源: 投稿
作者: xplanet
2019-08-18 07:33:28

gRPC 1.23.0 发布了。gRPC 是 Google 开源的高性能、通用 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。

主要更新内容如下:

Core

  • 反向移植 #19924 到 v1.23.x. (#19935)
  • 为自定义 iomgr 添加缺少的 APP 回调上下文 (#19687)
  • 将 DNS 重新解析期间的下限提高到 30 秒 (#19661)
  • 确保在 H2 的框架中至少有一个标题 (#19657)
  • 在使用 gevent 时分叉时修复段错误 (#19556)
  • Mpmcqueue. (#19358)
  • 使用后台轮询器时禁用备份轮询器 (#19454)
  • 清楚地调出侦听端口的行为 (#19529)
  • 在 iOS 上默认启用 CFStream (#19439)
  • 修复 DNS 解析器冷却时间 (#19489)
  • 在 Windows 上简化并修复 c-ares TCP 路径 (#19397)
  • 修改 codegen 以使用 grpc_impl 命名空间和其他清理 (#19435)

C++

  • 频道闲置 (#19634)
  • 线程池 (#19544)
  • 升级 min CMake 至 3.5.1 以匹配 Google 基准测试 (#19467)
  • 从 dep.proto. 迁移到 dep[ProtoInfo] provider (#19420)

C#

  • 将 ChannelExtensions(拦截器支持)移动到 Grpc.Core.Api(对于 v1.23.x 分支) (#19853)
  • 重构 ChannelCredentials 并移到 Grpc.Core.Api (#19712)
  • C# 将主要版本提升为 2.x (#19796)
  • 添加 ChannelBase,更改 ClientBase 构造函数参数 (#19599)
  • 删除 System.Interactive.Async 依赖项 (#19059)
  • 不要将 shutdownRef 计数用于同步完成队列 (#19629)
  • C# - 从取消注册中删除 allocation 和 boxing (#19610)
  • csharp:删除 Timespec 上的双框 (#19525)
  • C#:添加 System.Memory 依赖项并在内部对所有目标框架使用 Span<> (#19569)
  • csharp 在 UTF8 编码/解码期间删除 byte[] 分配 (#19511)
  • csharp:删除 AuthContext 的 Lazy 用法 (#19533)
  • csharp 避免 HandleNewServerRpc=>HandleCallAsync 中的 capture-context (#19526)
  • 确保 Grpc 元数据包包含 Grpc.Core.targets (#19449)

Objective-C

  • ObjC 实验支持 Bazel 构建 (#19621)
  • 实现全局拦截器 (#19322)

PHP

  • PHP:修复 channel::constructor() 中缺少的 addref (#19737)

Python

  • 在迭代之前检查 call.trailing_metadata() (#19708)
  • 为 Python 发布过程添加健全性检查 (#19635)
  • 对信号接收和信号处理程序执行之间的时间间隔实施有限限制 (#19481)
  • Python 压缩示例 (#19421)

Ruby

  • 对于绝对路径,不要 require_relative (#19585)
  • 放弃对 2.3 以下版本 ruby 的支持 (#19304)

更新说明及下载地址

展开阅读全文
点击加入讨论🔥(1) 发布并加入讨论🔥
1 评论
8 收藏
分享
返回顶部
顶部