建设一个高扩展性 松耦合系统是非常艰难的,随着移动和物联网设备增加扩展,不断增长的数据量和越来越高的客户期望,能够高效,可靠地在互联网规模的开发和运行系统变得非常关键。在这样的互联网环境中,开发者总是会和不同语言 框架和技术打交道,各种微服务互动,这就使得定义服务合约变得困难,必须具有横多个功能的一种统一服务,比如如身份验证和授权、健康检查、负载平衡、日志记录和监视和跟踪等。同时,在今天的云的世界,新的服务需求增加得很快,对于每一个服务的期望都是要求灵活的,弹性的,高度可用和可组合。在过去15年,谷歌已经使用Stubby在内部解决了这个问题,这是一种RPC框架,核心RPC能处理每秒数百亿的请求。现在这个技术开放给每个人,作为开源项目:gRPC,它的目的是提供给整个社区与谷歌一样的可扩展性,性能和功能。GRPC可以帮助实现分布式系统的连接、操作和调试与本地函数调用一样容易;该框架能处理所有与严格的服务合同,数据串行化,高效的网络通信、认证、访问控制、分布式跟踪等有关的复杂性。gRPC使用protocol buffer能实现松耦合,提高工程速度,更高的可靠性和易操作性。gRPC允许开发人员使用语言无关的规格编写与定义服务,能生成各种语言的客户端和服务器代码,生成的代码是地道本地原生语言。gRPC支持多种语言实现:C++, Java, Go, Node, Ruby, Python and C# ,跨Linux, Windows 和 Mac。支持iOS和安卓,能够使得移动应用更有效率地连接调用后端服务。Google Cloud Platform Blog: gRPC: a true internet-