RPC项目
KrpcProvider的Run()整体理解服务端RPC Provider将自身提供的「服务 方法」注册到 ZooKeeper客户端RPC Consumer调用服务前先去 ZooKeeper 查对应「服务方法」绑定的 IP:Port客户端拿到 IP:Port 后直接与服务端建立网络连接发起远程调用。服务端注册到 ZooKeeper 的不是服务 / 方法的逻辑代码而是「该服务方法能被访问的 IP:Port」ZooKeeper 只做 “地址映射”客户端查/UserService/Login拿到192.168.1.100:8080真正的业务逻辑调用是客户端直接连这个 IP:Port 完成的ZooKeeper 不参与实际调用过程。多服务端扩容的场景为什么需要 ZooKeeper如果多个服务端都提供UserService服务比如部署了 3 台机器每台服务端启动时都会在/UserService下创建自己的Login临时节点数据是各自的 IP:PortZooKeeper 最终会有/UserService/Login下多个临时节点对应多台服务端客户端可以负载均衡比如随机 / 轮询选择其中一个 IP:Port 调用实现服务端扩容。如果某台服务端宕机比如 192.168.1.100 挂了它与 ZooKeeper 的连接会断开对应的/UserService/Login临时节点会被自动删除客户端下次查询时就不会拿到这个失效的 IP:Port避免调用到宕机的服务端。总结
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2542071.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!