一. 题目要求
(一)需求一
在基于Netty的自定义RPC的案例基础上,进行改造。基于Zookeeper实现简易版服务的注册与发现机制
要求完成改造版本:
\1. 启动2个服务端,可以将IP及端口信息自动注册到Zookeeper
\2. 客户端启动时,从Zookeeper中获取所有服务提供端节点信息,客户端与每一个服务端都建立连接
\3. 某个服务端下线后,Zookeeper注册列表会自动剔除下线的服务端节点,客户端与下线的服务端断开连接
\4. 服务端重新上线,客户端能感知到,并且与重新上线的服务端重新建立连接
(二)需求二
在“编程题一”的基础上,实现基于Zookeeper的简易版负载均衡策略
要求完成改造版本:
Zookeeper记录每个服务端的最后一次响应时间,有效时间为5秒,5s内如果该服务端没有新的请求,响应时间清零或失效。(如下图所示)
当客户端发起调用,每次都选择最后一次响应时间短的服务端进行服务调用,如果时间一致,随机选取一个服务端进行调用&