当前位置: 首页 > news >正文

武汉做网站好河源seo

武汉做网站好,河源seo,网站后台m,台州高端网站建设文章目录 Ribbon 负载均衡器环境搭建1.依赖2.配置3.修改其默认的负载均衡策略3.1 验证 4.创建自定义的Rule4.1 MyRule()4.2 在配置config类中配置 5.饥饿加载6.我只想访问不想被别的访问 Ribbon 负载均衡器 背景 Ribbon 是一个用于客户端负载均衡的开源…

文章目录

  • Ribbon 负载均衡器
  • 环境搭建
    • 1.依赖
    • 2.配置
    • 3.修改其默认的负载均衡策略
      • 3.1 验证
    • 4.创建自定义的Rule
      • 4.1 MyRule()
      • 4.2 在配置config类中配置
    • 5.饥饿加载
    • 6.我只想访问不想被别的访问

Ribbon 负载均衡器

背景
Ribbon 是一个用于客户端负载均衡的开源库,它是 Netflix 开源的一部分,目前由 Spring Cloud 托管和维护。Ribbon 的主要作用是在微服务架构中管理客户端之间的负载均衡。
作用
作为一个负载均衡器,Ribbon 可以将客户端发起的请求分发到多个服务提供者实例中,以实现负载均衡和高可用性。它可以根据配置的负载均衡策略,在请求发起时选择一个合适的服务提供者实例,使请求能够均匀地分布到不同的实例上,从而提高系统的性能和可扩展性。

负载均衡策略

RoundRobinRule:轮询策略,依次选择每个服务提供者实例。
RandomRule:随机策略,随机选择一个服务提供者实例。
WeightedResponseTimeRule:根据平均响应时间和实例权重进行选择。
BestAvailableRule:优先选择可用性最好的实例。
ZoneAvoidanceRule:避免选择故障区域的实例。
此外,Ribbon 还支持自定义负载均衡策略,通过实现 IRule 接口可以编写自定义的负载均衡规则。
拓展
在 Spring Cloud 中,通过引入 spring-cloud-starter-netflix-ribbon 依赖,可以方便地使用 Ribbon 进行客户端负载均衡。
需要注意的是,从 Spring Cloud 2020 年版本开始,官方推荐使用 Spring Cloud LoadBalancer 替代 Ribbon 进行客户端负载均衡。因此,在最新的项目中,建议使用 Spring Cloud LoadBalancer 来实现负载均衡的功能。

环境搭建

(上一篇采用的搭建环境的方法)传送至上一篇
在之前的基础上需要加入一行新的配置即可
如果新建一个项目加入下方依赖即可

spring boot 版本 2.3.11.RELEASE
对应采用的springcloud

 <properties><java.version>1.8</java.version><spring.cloud.version>Hoxton.SR8</spring.cloud.version><spring.cloud.alibaba.version>2.2.5.RELEASE</spring.cloud.alibaba.version></properties>

1.依赖

<dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

2.配置

配置 application.properties

spring.application.name=ribbon-a
server.port = 3030
#Nacos服务发现注册中心
spring.cloud.nacos.discovery.server-addr=192.168.14.3:8848logging.level.com.hb = debug

3.修改其默认的负载均衡策略

轮询 ——> 随机 【ps:其他的也可自行设置】
配置config文件修改默认 策略

@Configuration
public class MyRuleConfig {@Beanpublic IRule rule(){return new RandomRule();}
}

3.1 验证

开启两个nacos,都在统一命名空间下,一个打包以cmd 运行,一个idea运行
1.打包文件
在这里插入图片描述

2.进入该文件夹中#
在这里插入图片描述
3.,记得打开的时候进入 target目录下
在这里插入图片描述

在这里插入图片描述
在启动类上加入@EnableDiscoveryClient,即可在服务中查看到对应的服务

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

4.创建自定义的Rule

4.1 MyRule()

@Component
@Slf4j
public class MyRule extends AbstractLoadBalancerRule {@Autowiredprivate NacosDiscoveryProperties nacosDiscoveryProperties;@Autowiredprivate NacosServiceManager nacosServiceManager;private static AtomicInteger count = new AtomicInteger(0);@Override@SneakyThrowspublic Server choose(Object key) {String group = this.nacosDiscoveryProperties.getGroup();DynamicServerListLoadBalancer loadBalancer = (DynamicServerListLoadBalancer)getLoadBalancer();String name = loadBalancer.getName();NamingService namingService = nacosServiceManager.getNamingService(nacosDiscoveryProperties.getNacosProperties());List<Instance> instances = null;instances = namingService.selectInstances(name, group, true);if (CollectionUtils.isEmpty(instances)) {log.warn("no instance in service {}", name);return null;}Instance maxInstance = instances.stream().max(Comparator.comparing(Instance::getWeight)).get();Instance minInstance = instances.stream().min(Comparator.comparing(Instance::getWeight)).get();int count2 = count.addAndGet(1);int mod = count2 % 4; //取模运算  5,10,15,20,25 ...if (mod == 0) {log.debug("count={},mod={},使用min",count2, mod);return new NacosServer(minInstance);} else {log.debug("count={},mod={},使用max",count2, mod);return new NacosServer(maxInstance);}}@Overridepublic void initWithNiwsConfig(IClientConfig iClientConfig) {}
}

4.2 在配置config类中配置

下方是访问4次三次调用权重最大的,一次访问权重最小的
在这里插入图片描述
结果
在这里插入图片描述
也可以在peroperties文件中配置还可以配置全局的但是在我这个版本不行 ,这里只配置啦命名空间为nacos-a的

 nacos-a.ribbon.NFLoadBalancerRuleClassName=com.hb.rule.MyRule

5.饥饿加载

在进行服务调用的时候,如果网络情况不好,第一次调用会超时。
Ribbon默认懒加载,意味着只有在发起调用的时候才会创建客户端。
开启饥饿加载,解决第一次调用慢的问题:

ribbon:
eager-load:
# 开启ribbon饥饿加载
enabled: true
# 配置order-service使用ribbon饥饿加载,多个使用逗号分隔
clients: order-service

开启饥饿加载会在系统加载类的过程中,与连接池进行链接

6.我只想访问不想被别的访问

application.properties 配置文件中加入这个即可
spring.cloud.nacos.discovery.register-enabled=true

http://www.khdw.cn/news/4765.html

相关文章:

  • 网站建设企业的未来发展计划百度快照关键词推广
  • 网站开发源代码濮阳市网站建设
  • 网站建设mdf优化网站内容
  • wordpress 优酷视频seo引擎优化教程
  • 做百度手机网站点击软如何做电商 个人
  • 嘉兴 网站制作seo优化排名公司
  • 网站开发需要哪些硬件百度关键词排名批量查询
  • 做的公司网站怎么没了线上推广策划方案范文
  • vs网站开发效果图韶关网站seo
  • 济南新风向网站建设东莞网络营销信息推荐
  • 做排行网站山东做网站公司
  • 青岛网站建设的方案微博推广方法有哪些
  • gettext wordpressseo怎么优化关键词排名
  • 完整的网站开发微信推广多少钱一次
  • 做网站建设公司赚钱百度一下百度网站
  • 免费移动网站模板下载安装seo搜索排名影响因素主要有
  • 前端静态网页模板seo知识总结
  • 想开一家相亲网站 怎么做代写文章的平台有哪些
  • html网页设计结课作业便宜的seo官网优化
  • 北京工程建设交易信息网站手机网站自助建站系统
  • 禅城区网站建设公司图片搜索识图入口
  • 东道网站建设搜索引擎大全
  • 企业网站设计期末考试域名注册需要多少钱
  • wap网站e4a做app全国病毒感染最新消息
  • net创建网站之后怎么做建站系统有哪些
  • 请人做网站谁来维护东莞网站关键词优化公司
  • 网站开发游戏怎么在百度上免费做广告
  • 宝鸡网站设计十大免费域名
  • 宁波网站建设建站系统个人网站免费域名注册
  • 顺德哪家做网站快速网站推广优化