1. 设计方案概述

  1. 在一台windows操作系统中利用不同端口搭建一个伪分布式的客户端负载均衡系统,实现高可用、服务器节点动态上下线等功能;
  2. 采用SpringBoot+ZooKeeper的方式搭建三台分布式服务器;
    1. 需要在windows中配置并开启三个zkServer进程;
    2. 通过SpringBoot开启三台Tomcat服务器,即三条服务器进程,并在ZooKeeper中建立临时节点(/Servers/2181 , /Servers/2182 , /Servers/2183);
    3. 通过RestController和RequestMapping的方式实现REST风格的HTTP接口。
  3. 采用SpringBoot搭建一台服务器转发来自浏览器的请求到分布式服务器,并根据浏览器指定的均衡策略找到对应的负载均衡器将请求转发到服务器url,该台服务器对于分布式服务器为客户端,故将该服务器进程当作为客户端进程。
  4. 每个服务器维护一个ConcurrentHashMap,记录服务器每个实例被调用的次数,每个服务器开启一条线程实时读取该Map中的数据,并打印到控制台。

2. 设计方案框架图

3. 搭建步骤

3. 启动步骤

4. 运行结果

image.png
image.png
image.png
image.png

部分API:https://www.jianshu.com/p/519acfc985e2