代码拉取完成,页面将自动刷新
编程题一:
在基于Netty的自定义RPC的案例基础上,进行改造。基于Zookeeper实现简易版服务的注册与发现机制
要求完成改造版本:
1. 启动2个服务端,可以将IP及端口信息自动注册到Zookeeper
答:服务端在启动的时候新建临时节点(ip 端口)到持久节点/netty-server下
2. 客户端启动时,从Zookeeper中获取所有服务提供端节点信息,客户端与每一个服务端都建立连接
答:这边就是监听机制,临时节点有变化能通知到客户端,然后做相应的事件处理。我这边就是ZkClientListener监听类的init方法完成客户端启动时nettyClient连接,
并且用该ZkClientListener类的 一个成员变量的map[key是rpc-provider的端口,可以理解为一个服务。value是与之相连的netty Client]保存了每个连接信息,方便后续处理服务端下线
3. 某个服务端下线后,Zookeeper注册列表会自动剔除下线的服务端节点,客户端与下线的服务端断开连接
答:当下线之后,我会获取最新的临时节点信息 与map存储的信息做对比。如果最新的节点没有map的key,就移除掉map的这个端口为key的连接
4. 服务端重新上线,客户端能感知到,并且与重新上线的服务端重新建立连接
答:同理3
编程题二:
在“编程题一”的基础上,实现基于Zookeeper的简易版负载均衡策略
要求完成改造版本:
Zookeeper记录每个服务端的最后一次响应时间,有效时间为5秒,5s内如果该服务端没有新的请求,响应时间清零或失效。(如下图所示)
本人遇到的问题描述:
这个由于我 编程一的题目没有调试通过,所以这个还没写。
目前遇到的问题就是:接口调用浏览器一直转圈圈[参考截图'问题2.png'] 不能到达服务端[idea控制台打印 请看"问题1,png"截图]。请求地址:http://localhost:8000/user/1
在家里的电脑和公司电脑都测试了,还是不行。感觉这和本地单机模式启动的zk环境有关,有点像网络的原因。。。请导师帮忙解答下。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。