Spring Cloud----Ribbon

mac2024-03-28  30

Ribbon是Spring Cloud的负载均衡组件。Ribbon默认的提供了很多负载均衡算法。当Ribbon和Eureka配合使用的时候,Ribbon会自动从Eureka Server获取服务提供者列表,并基于负载均衡算法,请求其中一个服务提供者的实例。

服务消费端整合Ribbon

(1)在pom中添加ribbon依赖

<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-ribbon</artifactId> </dependency>

(2)由于服务之间调用用的是RestTemplate,所以在RestTemplate上加入@LoadBlanced注解就可以

@Bean @LoadBalanced public RestTemplate restTemplate(){ return new RestTemplate(); }

现在就整合了Ribbon,使其具备了负载均衡的能力。 @Bean放在方法上,就是产生一个bean并交给Spring管理。

属性自定义Ribbon配置

在application.yml中配置Ribbon即可. 配置的前缀是.ribbon.后边可以跟的属性有: NFLoadBalancerClassName: 配置ILoadBalancer的实现类。 NFLoadBalancerRuleClassName:配置IRule的实现类。 NFLoadBalancerPingClassName:配置IPing的实现类。 NIWSServerListClassName:配置serverList的实现类。 NIWSServerListFilterClassName:配置ServerListFilter的实现类。

问题:Ribbon和Nginx的区别?

最新回复(0)