gRPC 1.16.0 正式釋出,谷歌的高效能 RPC 框架
RPC/">gRPC 1.16.0 釋出了,這是一個 gRPC 核心更新版本,針對各語言版本都進行了更新,包含優化、改進和錯誤修復,下面列出了值得關注的更新:
Core
-
Keepalive watchdog firing should return status
UNAVAILABLE
. ( ofollow,noindex" target="_blank">#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 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
-
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
gRPC 是 Google 開源的高效能、通用 RPC 框架,面向移動和 HTTP/2 設計,是由谷歌釋出的首款基於 Protocol Buffers 的 RPC 框架。gRPC 基於 HTTP/2 標準設計,帶來諸如雙向流、流控、頭部壓縮、單 TCP 連線上的多複用請求等特性。這些特性使得其在移動裝置上表現更好,更省電且節省空間佔用。