RPC入门学习笔记
RPC - What!
RPC 是远程过程调用(Remote Procedure Call)的缩写形式,用于支持异构型分布式系统间的通讯。
RPC - Why!
当处理大流量访问时,将一个功能复杂的大型应用拆分,降低应用对服务器的性能需求,减少呈几何上升的服务器成本,并可以根据应用模块负载压力进行服务器的升级或副本。
那么当应用被拆分成多个模块时,为了实现多个模块间高效的相互调用,推出了 RPC 技术。在 TCP/IP 的层面上,发送、接收统一规则的数据结构,实现跨语言,跨服务器的通讯。
RPC - How!
在 Java 的开发下,可以使用 SpringBoot(应用程序开发框架) + Dubbo(RPC开发框架) + Zookeeper(注册中心)实现RPC的开发。
Dubbo 可以方便快捷的实现 RPC 调用,帮我们屏蔽了复杂的下层实现。但是如何知道不同服务器的自身情况就需要结合注册中心—— Zookeeper。
Zookeeper 让 RPCClient 知道该 invoke 哪个 RPCSever 可以找到自己引用的接口,该接口下哪个服务器可以实现更快的访问获取,避免高并发时的网络拥堵,实现负载均衡。
如果有误,欢迎指正