LB-负载均衡(Load Balance) 简单来说就是将用户的请求平摊的分配到多个服务上,从而达到系统的HA(高可用)。常用的负载均衡软件有Nginx,LVS等。
什么是Ribbon Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具。
Ribbon客户端和Nignx服务端负载均衡的区别
负载均衡和RestTemplate调用 Eureka集成Ribbon 1.3.2、支付微服务搭建集群
Ribbon已经集成到EurekaClient中
使用
自定义配置类不能放在@ComponentScan所扫描的当前包下以及子包下,否则自定义的这个配置类会被所有的Ribbon客户端共享,不能实现特殊定制的目的。
随机规则类
@Configuration
public class MySelfRule {
@Bean
public IRule myRule(){
return new RandomRule();//定义为随机
}
}
启动类加载随机规则
@SpringBootApplication
@EnableEurekaClient
@RibbonClient(name = "CLOUD-PAYMENT-SERVICE",configuration = MySelfRule.class)
public class OrderMain80 {
public static void main(String[] args) {
SpringApplication.run(OrderMain80.class, args);
}
}
http://localhost/consumer/payment/get/1
多次测试,端口随机出现,证明访问8001和8002服务器随机指定访问。