负载均衡是指将负载分摊到多个执行单元上,常见的负载均衡有两种方式:一种是独立进程单元,通过负载均衡策略,将请求转发到不同的执行单元上,例如 Ngnix;另一种是将负载均衡逻辑以代码的形式封装到服务消费者的客户端上,服务消费者客户端维护了一份服务提供者的信息列表,有了信息列表,通过负载均衡策略将请求分摊给多个服务提供者,从而达到负载均衡的目的,例如 Ribbon
新建 spring-cloud-eureka-ribbon-client Module
pom
1 | <parent> |
application.yml
1 | server: |
启动类
1 | @EnableEurekaClient |
RestTemplate
1 | @Configuration |
Service
1 | @Service |
Controller
1 | @RestController |
测试
- 启动 eureka-server
- 启动 eureka-client (两个实例:一个 8011 端口,一个 8012 端口)
- 启动 eureka-ribbon-client
多次访问 http://localhost:8021/hi?name=victor 可以看到 8011 和 8012 端口交替出现
完整代码:GitHub
本人 C# 转 Java 的 newbie, 如有错误或不足欢迎指正,谢谢