gRPC 1.10.0 已正式发布,该版本包含了大量改进和 bug 修复,具体如下: Core To provide a cleaner install with fewer public headers, several features of core have been removed from the surface or GPR API as they were not used in any wrapped language (except C++) or in external applications, such as: a. grpc_alarm (removed; the C++ grpc::Alarm now directly invokes core subsurface functions) b. gpr_join_host_port, gpr_cmdline, gpr_subprocess (moved to test/core/util) c. gpr_tls, gpr_avl (internalized) d. gpr_thd (internalized) Except gpr_thd_id and gpr_thd_currentid, which remain public As a result of these changes, core is now at version 6.0.0 Fix memory leaks in max_age_filter (#14501) and http_proxy (#14137) Changed resolver and LB policy APIs to C++ Added re-resolution into grpclb policy (#14438). Extracted per LB-call data from grpclb policy (#13911) Fixed C-core to immediately take ownership of slices when a send_message op is started Fix a race condition causing freeze at shutdown with epollex polling strategy (#14177) Improvements in CMake: find_package (#14353) Portability fixes (#14136, #14198) Test infrastructure cleanup (#14117) Update BoringSSL submodule (#13948) Make RR re-resolve when any of its subchannels fail (#14170) DNS resolver caches results, allowing it to be hit arbitrarily often. Resolution frequency is controlled via channel arg GRPC_ARG_DNS_MIN_TIME_BETWEEN_RESOLUTIONS_MS. (#14228) 详情更新内容和源码下载:https://github.com/grpc/grpc/releases/tag/v1.10.0 gRPC 是一个高性能、开源、通用的 RPC 框架,面向移动和 HTTP/2 设计,是由谷歌发布的首款基于 Protocol Buffers 的 RPC 框架。目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C#。 gRPC 基于 HTTP/2 标准设计,带来诸如双向流、流控、头部压缩、单 TCP 连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电且节省空间占用。 服务接口定义示例: message HelloRequest { string greeting = 1; } message HelloResponse { string reply = 1; } service HelloService { rpc SayHello(HelloRequest) returns (HelloResponse); } gRPC 1.10.0 正式发布,Google 高性能 RPC 框架下载地址