目录
引入依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
开启两个同名服务实例,进行轮询访问
根据自定义的服务名称进行访问这个服务
1.Ribbon负载均衡规则
- 规则接口是IRule
- 默认实现是ZoneAvoidanceRule,根据zone选择服务列表,然后轮询,具体实现是这个类是以区域可用的服务器为基础进行服务器的选择。使用Zone对服务器进行分类,这个Zone可以理解为一个机房,一个机架等。而后再对Zone内的多个服务做轮询。
2.负载均衡自定义方式
- 代码方式:配置灵活,但修改时需要重新打包
-
@Bean public IRule randomRule(){ return new RandomRule(); }
- 配置方式:直观,方便,无需重新打包发布,但是无法做全局配置
-
userserver: #你的服务名称 ribbon: NFLoadBalancerRuleClassName: com.netflix.loadbalancer.RandomRule #负载均衡规则
注意:开启了自定义的代码方式就会自动忽略配置方式
3.饥饿加载
为何要开启饥饿加载,因为在我们第一次加载时候,响应时间比较慢,原因是第一次加服务需要从服务注册列表中拉取服务实例,以及初始化相关的组件到Spring中。开启饥饿加载的相关配置之后这些操作会在服务启动就会完成。
下面是第一次的响应时间需要614ms
- 开启饥饿加载
-
ribbon: eager-load: clients: - userserver
以上就是Ribbon的负载均衡的规则,希望对您有帮助!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/105054.html