grpc 1.9.0-pre1 release, Google high-performance RPC framework
grpc 1.9.0-pre1 has been released. Remote Procedure Calls (RPCs) provide a useful abstraction for building distributed applications and services. The libraries in this repository provide a concrete implementation of the gRPC protocol, layered over HTTP/2. These libraries enable communication between clients and servers using any combination of the supported languages.
By default, it uses Protocol Buffers as the Interface Definition Language (IDL) for describing both the service interface and the structure of the payload messages. It is possible to use other alternatives if desired.
Starting from an interface definition in a .proto file, gRPC provides Protocol Compiler plugins that generate Client- and Server-side APIs. gRPC users typically fall into these APIs on the Client side and implement the corresponding API on the server side.
Synchronous vs. asynchronous
Synchronous RPC calls, that block until a response arrives from the server, are the closest approximation to the abstraction of a procedure call that RPC aspires to.
On the other hand, networks are inherently asynchronous and in many scenarios, it is desirable to have the ability to start RPCs without blocking the current thread.
The gRPC programming surface in most languages comes in both synchronous and asynchronous flavors.
- Fix init_max_accept_queue_size #12126
- Removed expiration_interval from LB proto #12488
- Fix a PHP memory leak with SSL root certificates #12706
- LB policies request re-resolution without shutting down #12829
- Test multiple pollers with Bazel #13051
- All instances of exec_ctx being passed around in src/core removed #13058
- Make BQ results build url point to Sponge #13078
- Require min Cocoapods version to be v1.2.0 #13196
- Add distrib tests using ruby 2.0.0 #13206
- Many improvements to detect flakes script #13226
- Virtual Flow Control #13289
- Add support to RunServer for notifying clients via condition variable that the interop server has started. #13329