GRPC 1.15.0 发布,Google 高性能 RPC 框架
Posted Linux伊甸园开源社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了GRPC 1.15.0 发布,Google 高性能 RPC 框架相关的知识,希望对你有一定的参考价值。
GRPC 1.15.0 已发布,GRPC 是一个高性能、开源、通用的 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。 GRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。
该版本包含优化、改进和 bug 修复,亮点包括:
Core
Document SSL portability and performance considerations. 详情
Simplify call arena size growth. (#16396)
Make gRPC buildable with AIX and Solaris (no official support). (#15926)
PF: Check connectivity state before watching. (#16306)
Added system roots feature to load roots from OS trust store. (#16083)
Fix c-ares compilation under windows (but doesn’t yet enable windows DNS queries), and then enables address sorting on Windows. (#16163)
Fix re-resolution in pick first. (#16076)
Allow error strings in final_info to propagate to filters on call destruction. (#16104)
Add resolver executor . (#16010)
Data race fix for lockfree_event. (#16053)
Channelz: Expose new Core API. (#16022)
C++
cmake: disable assembly optimizations only when necessary. (#16415)
C++ sync server: Return status
RESOURCE_EXHAUSTED
if no thread quota available. (#16356)Use correct target name for gflags-config.cmake. (#16343)
Make should generate pkg-config file for gpr as well. (#15295)
Restrict the number of threads in C++ sync server. (#16217)
Allow reset of connection backoff. (#16225)
C#
Add experimental support for Xamarin.android and Xamarin.ios, added Helloworld example for Xamarin. 详情
Add experimental support for Unity Android and iOS. 详情
Add server reflection tutorial. 详情
Avoid deadlock while cancelling a call. (#16440)
Subchannel sharing for secure channels now works as expected. (#16438)
Allow dot in metadata keys. (#16444)
Avoid shutdown crash on iOS. (#16308)
Add script for creating a C# package for Unity. (#16208)
Add Xamarin example. (#16194)
Cleanup and update C# examples. (#16144)
Grpc.Core: add support for x86 android emulator. (#16121)
Xamarin iOS: Add libgrpc_csharp_ext.a for iOS into Grpc.Core nuget. (#16109)
Xamarin support improvements . (#16099)
Mark native callbacks with
MonoPInvokeCallback
. (#16094)Xamarin.Android: add support. (#15969)
Objective-C
Make BoringSSL symbols private to gRPC in Obj-C so there is no conflict when linking with OpenSSL. (#16358)
Use environment variable to enable CFStream. (#16261)
Surface error_string to ObjC users. (#16271)
Fix
GRPCCall
refcounting issue. (#16213)
Python
Added support for client-side fork on Linux and Mac by setting the environment variable
GRPC_ENABLE_FORK_SUPPORT=1
. Applications may fork with active RPCs, as long as no user threads are currently invoking gRPC library methods. In-progress RPCs continue in the parent process, and the child process may use gRPC by creating new channels. (#16264)Improve Pypy compatibility. (#16364)
Segmentation fault caused by
channel.close()
when used with connectivity-state subscriptions. (#16296)Add server reflection guide for Python. 详情
Refresh pb2 files in examples/python/multiplex. (#16253)
Adding python version environmental markers in the new style. (#16235)
Add a matching
_unwrap_grpc_arg
. (#16197)Add Cython functionality to directly wrap
grpc_arg
. (#16192)
Source code(zip)
Source code(tar.gz)
以上是关于GRPC 1.15.0 发布,Google 高性能 RPC 框架的主要内容,如果未能解决你的问题,请参考以下文章
苹果官方给 ARKit 开发者的 22 条建议;Google 高性能 RPC 框架 grpc-java 1.7.0 发布
1Google Grpc 框架源码解析 之 Hello World