gRPC定义
gRPC 是一项进程间通信技术, 可以用来连接、 调用、 操作和调试分布
式异构应用程序。 就像调用本地函数一样, 整个过程操作起来很简单。
gRPC的应用场景
服务内部进程调用,替代传统的RPC技术,如java的RMI和CORBA。替代SOAP,已及替代当前主流微服务REST调用。
gRPC的技术优势
1.提供高效的进程间通信,protocol buffers 的二进制协议与 gRPC 服务和客户端通
信。 同时, gRPC 在 HTTP/2 之上实现了 protocol buffers, 从而能够
更快地处理进程间通信。
2.具有简单且定义良好的服务接口和模式,首先必须定义服务接口, 然后才能去处理实现细节。 因此, 与RESTful 服务定义中的 OpenAPI/Swagger 和 SOAP Web 服务中的
WSDL 不同, gRPC 提供了简单但一致、 可靠且可扩展的应用程序
开发体验。
3.强类型,protocol buffers 来定义 gRPC 服务, 所以 gRPC 服务契约清晰定义了应用程序进行通信所使用的类型。 这样一来, 在构建跨多个团队和技术类型的云原生应用程序时, 对于其所产生的大多数运行时错误和互操作错误, 可以通过静态类型来克服, 因此分布式应用程序的开发更加稳定。
4.支持多语言。RPC 支持多种编程语言。 基于 protocol buffers 的服务定义是语言中立的。 因此, 我们可以选择任意一种语言, 它们都能与现有的 gRPC 服务或客户端进行互操作。