gRPC 1.16.0 正式發佈,谷歌的高性能 RPC 框架

gRPC 是 Google 開源的高性能、通用 RPC 框架,面向移動和 HTTP/2 設計,是由谷歌發佈的首款基於 Protocol Buffers 的 RPC 框架。gRPC 基於 HTTP/2 標準設計,帶來諸如雙向流、流控、頭部壓縮、單 TCP 連接上的多複用請求等特性。這些特性使得其在移動設備上表現更好,更省電且節省空間佔用。

gRPC 1.16.0 發佈了,這是一個 gRPC 核心更新版本,針對各語言版本都進行了更新,包含優化、改進和錯誤修復,下面列出了值得關注的更新:

Core

Keepalive watchdog firing should return status UNAVAILABLE. (#16764)Set TCP_USER_TIMEOUT socket option for linux . (#16419)When using c-ares, resolve ip literals and Windows localhost on our own. (#16420)Turn loading system root certificate as default. (#16536)Change pick_first to not unref unselected subchannels. (#16342)

C++

fix *_unsecure.pc files. (#16754)cmake: prevent C core from depending on libstdc++. (#16752)Implement Watch method in health check service. (#16574)Fix async_stream.h warning on Visual Studio. (#16544)

C#

Secure channel throughput improvements: Linux x86_64 version of grpc_csharp_ext nuget now ships with assembly-optimized version of boringssl, which leads to significant improvements in throughput of secure C# channels. See https://github.com/grpc/grpc/blob/v1.16.x/doc/ssl-performance.md for details.Expose certificate request type in SslServerCredentials. (#16552)build assembly-optimized grpc_csharp_ext with cmake. (#16777)ChannelOption improvements. (#16756)Various allocation optimizations. (#16631)Add new C# serialization API. (#16367)Add constructor overload for RpcException. (#16553)Avoid leaking resources when starting a call fails. (#16554)Expose TryWaitForStateChangedAsync. (#16556)Add exception info to Status.Detail if metadata credentials throws. (#16543)

Objective-C

Fixed a crash related to error reporting. (#16696)

Python

Fix SSL channel credential when an argument is None. (#16640)Bazel: Fix python BUILD rules. (#16561)

Ruby

Switch to send instead of method(...).call. (#16642)Rescue GRPC::Core::CallError so that worker threads are not killed. (#16477)support for ruby_package options. (#16014)ruby: Raise instead of hanging if grpc is used before and after fork. (#16332)

發佈說明和下載地址 https://github.com/grpc/grpc/releases/tag/v1.16.0