1.gRPC的定义:
是一项进程间的通信技术,可以用来连接、调用、操作和调试分布式异构应用程序。功能如同其他RPC的框架一样。
2.那么什么是rpc?
– 像调用本地方法一样调用远程方法。
RPC(Remote Procedure Call)远程过程调用,简单的理解是一个节点请求另一个节点提供的服务,一个进程到进程之间的调用。
其中有一个比较特殊的概念——本地过程调用,通信模型是调用本地,比如,咱们之前常用的,http通信一定是需要调用应用层协议的。而本地调用是封装通信过程,通过调用本地方法的形式调用远程服务器的,此时的通信的形式就远远不止http形式,还可以用tcp、udp,除此之外,序列化、压缩、认证、访问、监控、扩容都可以重构,我不是http协议的不可以实现,只是http很多时候是对外的,这些工作可能要暴露在外,或者是需要增加不同的插件完成,研发成本也会比较高。这是自己的理解一点。
3.RPC的核心
- 核心目标:主要是解决分布式系统中服务之间的调用问题。
- 主要解决远程通信间的问题,不需要了解底层网络的通信机制。