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 框架的主要内容,如果未能解决你的问题,请参考以下文章

Google高性能RPC框架gRPC 1.0.0发布

苹果官方给 ARKit 开发者的 22 条建议;Google 高性能 RPC 框架 grpc-java 1.7.0 发布

RPC框架实践之:Google gRPC

1Google Grpc 框架源码解析 之 Hello World

1Google Grpc 框架源码解析 之 Hello World

Q新闻丨Facebook开源新的压缩算法,性能超zlib;来自Google的RPC框架:gRPC1.0发布