Eureka
服务端:
- 导包 spring-cloud-starter-netflix-eureka-server
- 配置文件:spring.application.name(服务应用名) 与 eureka.client.service-url.defaultZone(eureka服务端地址)= http://localhost:10086/eureka
- 启动类:加注解 @EnableEurekaServer
客户端:
- 导包 spring-cloud-starter-netflix-eureka-client
- 配置文件:spring.application.name(服务应用名) 与 eureka.client.service-url.defaultZone(eureka服务端地址)= http://localhost:10086/eureka
- 启动类:加注解 @EnableEurekaClient
服务实例的负载均衡:
直接在消费端 RestTemplate 的 bean 加注解 @loadBalanced 即可。
加上@loadBalanced 注解后,此时 spring会自动帮助我们从eureka-server端,根据userservice这个服务名称,获取实例列表,而后完成负载均衡
自定义负载均衡规则 :一般默认轮询就行,没必要不用修改
- 代码方式:
@bean
public IRule randomRule(){
return new new RandomRule();
}
- 配置文件方式:
点击查看代码
user-server: # 给某个微服务配置负载均衡规则,这里是"user-server"服务
ribbon:
NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule # 负载均衡规
饥饿加载
Ribbon默认懒加载,若要降低第一次访问的耗时,可配置开启饥饿加载
点击查看代码
Ribbon:
eager-load:
enable: ture
clients: user-server