Ribbon(负载均衡)负载均衡

一:配置负载均衡

1、架构图

1、多集群微服务

Ribbon(负载均衡)负载均衡

2、Ribbon在工作时分成两步

一步:先选择EurekaServer,他优先选择找同一个区域内负载均衡较少的Server

二步:在根据用户指定的策略,在从Server获取到的服务注册列表中选择一个对应的地址

二:创建工程微服务提供者

1、创建工程:chserivcecloud-provider-dept-8002/8003

1、选中父工程(chserivcecloud)右击---->new Other--->Maven Module

Ribbon(负载均衡)负载均衡

2、注意Packageing设置为jar模式

Ribbon(负载均衡)负载均衡

1、编辑8002/8003工程pom.xml

1、将8001工程中的pom.xml复制到8002/8003对应的pom.xml中

Ribbon(负载均衡)负载均衡

Ribbon(负载均衡)负载均衡

Ribbon(负载均衡)负载均衡

2、进行复制8001工程中的代码和配置文件

1、将8001工程src/main/java下面所有的代码和包进行拷贝到8002/8003

注意:为了方便区分将主启动类名称改成对应的工程名(DeptProvider8002_Ch.java/DeptProvider8003_Ch.java)

2、将8001工程src/main/resources下面的配置文件和包进行拷贝到8002/8003

注意:将application.yml文件中的端口server改成对应的端口(8002/8003)

3、创建对应的8002/8003数据库

1、在这这里数据库名称springcloud2/springcloud2

2、创建对应的表数据与8001工程对应的数据库表数据一致

Ribbon(负载均衡)负载均衡

3、修改8002/8003工程对应的application.yml文件中数据库连接路径

4、对外曝光的名称必须一致:microserivcecloud-dept

Ribbon(负载均衡)负载均衡

5、修改instance-id:服务对应名称信息(8002/8003)

Ribbon(负载均衡)负载均衡

4、测试

1、先启动3个Eureka集群服务

2、在启动3个Dept(8001/8002/8003)微服务并各自测试通过

http://localhost:8001/dept/get/1

http://localhost:8002/dept/get/1

Ribbon(负载均衡)负载均衡

http://localhost:8003/dept/get/1

Ribbon(负载均衡)负载均衡

3、在次启动消费端(80)并执行访问

http://localhost/consumer/dept/list

Ribbon(负载均衡)负载均衡

4、Ribbon默认是每个提供者轮番的算法执行(值日每周一轮),每次执行查询是不同的数据库

Ribbon(负载均衡)负载均衡

Ribbon就一个负载均衡的客户端组件,可以和其他所需请求的客户端结合使用,和Eureka结合只是一个实例

Ribbon(负载均衡)负载均衡