SpringCloud Ribbon是基于Netfix Ribbon实现的一套客户端 负载均衡的工具。
主要功能:提供客户端的软件负载均衡算法,将Netflix的中间服务连在一起。Ribbon客户端组件提供一系列完善的配置如连接超时,重试等情况。简单就是在配置文件中列出负载均衡后面的所有机器。Ribbon会自动帮助你基于某种规则(如:简单轮询,随机连接)去连接这些机器。
负载均衡(Load Balance)是一种在微服务或分布式集群中经常出现的一种应用,简单的说就是将用户的请求平均分摊到服务上,从而达到系统的HA。常见的负载均衡软件有Nginx,LVS,硬件F5等。相应的中间件,如:dubbo和SpringCloud中均给我们提供了负载均衡,SpringCloud的负载均衡算法可以自定义。集中式(偏硬件如:F5),进程式(便软件)。Ribbon属于进程式的负载均衡,它类似一个类库,集成于消费方进程,消费方通过它来获取到服务提供方的地址。
Ribbon的配置
1,在客户端添加ribbon的相关依赖性文件,在pom中中添加下面的依赖
spring-cloud-starter-eureka
spring-cloud-starter-ribbon
spring-cloud-starter-config
2.修改服务断的application.yml文件,需要在里面添加上它去Eureka的一个访问地址
eureka:
client:
register-with-eureka: false
service-url:
defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
通过服务名从eureka上找到并访问
3.在Config中添加@LoadBalanced注解,并且在主启动类中添加@EnableEurekaClient注解,并且修改它的名字
领取专属 10元无门槛券
私享最新 技术干货