Google last week open sourced it’s HTTP/2 framework gRPC which is currently being used for a number of Google’s cloud products. gRPC (GitHub) supports a number of programming languages including C++, Objective-C, Python, Ruby, Go and Node.js and is geared towards usage in the low latency, highly scalable distributed systems or in scenarios where an accurate new protocol needs to be designed which is sufficient and language independent as well as obviously Microservices.
Google say that gRPC is being used internally as part of a long-term commitment two HTTP/2 as mentioned on their blog, “Over the years, Google has developed underlying systems and technologies to support the largest ecosystem of micro-services in the world; our servers make tens of billions of calls per second within our global datacenters. At this scale, nanoseconds matter. Efficiency, scalability and reliability are at the core of building Google’s APIs.”
To compliment gRPC Google simultaneously announced a new version of Protocol Buffers in order to clean up the previous version with a view to pushing the language as the foundation of Google’s new API platform which includes removal of unknown fields and extensions under the addition of maps and a small set of standard types to represent time and dynamic data.
For context with HTTP2, Daniel Sommermann of Facebook gave a great presentation at October’s Sourcegraph Meetup in San Francisco in which he gave an overview of HTTP/2 and the reasons why we might need to move on from HTTP version 1. Sommerman has been at Facebook for around the last 2 1/2 years working on software load balancers and HTTP infrastructure.