Nacos服务实例的权重设置方式(以及设置为0时的作用与场景)

 更新时间:2024年07月31日 09:14:14   作者:其然乐衣  
这篇文章主要介绍了Nacos服务实例的权重设置方式(以及设置为0时的作用与场景),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

先分析为何要用权重设置

Nacos有同集群优先访问的负载均衡,不过呢,我们部署的时候啊,可能会存在这么一种情况,因为企业里服务器设备啊,会更新迭代,有一些机器呢,性能比较好,还有一些属于是祖传设备了,性能非常的差,可以说是老弱病残,这个时候呢,我们肯定是希望这些性能好的机器,它承担更多的用户请求,而那些性能差一点的,自然是承担少一点的请求,正所谓能者多劳嘛。

但是我们目前看来,NacosRule做到的是集群优先,而后做随机,当用户请求来了以后,它可不管你是性格好的还是差,这个身强力壮的还是老弱病残拉过来就一顿造,那这个时候那些性能差的肯定就会出问题。

那么我们该怎样去控制不同服务它的一个请求量呢?

哎,Nacos,给我们提供了一个权重的配置,通过修改服务实力的权重,可以控制访问频率,权重越大,访问到的频率就越高,那我们就可以把性能好的机器全都设得大一点,性能差一些呢,设置的小一点。

权重设置为0时,该实例就不会被访问了,也就是说权重调整0时,它压根儿就不会被访问。

设置权重为0有什么作用?

我们以前一个服务,我们想要对它做一个版本的升级,我们该怎么办?

我们是不是要把它重启啊,但是你光天化日之下,你去重启个服务器,是不好的,因为用户都还在访问,你一重启别人就反应不了“哎,你这服务怎么挂了?”,就有问题了!对不对,所以说呢,我们是不能随便重启的。

往往呀,每次版本升级都是搞得跟那个什么谍战片一样,要找一个月黑风高无人之夜是吧,然后等用户都下线儿了,我们偷偷的把服务停机,然后呢,去做版本的一个升级。

但是你想看,如果现在有了这个权重,我可不可以这么做?我有多个服务器,8081、8082、8083各自部署,我先将8081这个服务的权重调成零。

然后呢,大白天也没事儿啊,这个时候呢,渐渐的8081就不承担用户请求了,那这个时候我对它做停机,用户就不会有感知了,那么这个时候对8081停机完了以后,就可以去做一些这个版本的升级,升级完成以后我再重启,我给它权重先不着急调太大,先调小一点,调到零点多,0.01什么之类的,这个时候呢,我们放出少数用户进来做个测试,看看行不行,如果没什么问题,我们就可以逐渐扩大比例,一次升级,这个时候用户是无感知的,你可以做到平滑升级。

非常优雅,那么这样呢,这种升级方式啊,其实就是比较比较顺滑这种方式了,你就不用去大半夜去加班的去搞了。所以呢,这是我们这个权重的一些作用。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringBoot 自动配置失效的解决方法

    SpringBoot 自动配置失效的解决方法

    本文主要介绍了SpringBoot 自动配置失效的解决方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-11-11
  • Spring集成JPA配置懒加载报错解决方案

    Spring集成JPA配置懒加载报错解决方案

    这篇文章主要介绍了Spring集成JPA配置懒加载报错解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-10-10
  • IntelliJ Idea常用11款插件(提高开发效率)

    IntelliJ Idea常用11款插件(提高开发效率)

    这篇文章主要介绍了IntelliJ Idea常用11款插件(提高开发效率),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • java实现检测是否字符串中包含中文

    java实现检测是否字符串中包含中文

    本文给大家分享了2个使用java检测字符串中是否包含中文的代码,都非常的实用,最后附上了各种字符的unicode编码的范围,方便我们以后使用正则进行匹配检测。
    2015-10-10
  • 关于@ConditionalOnProperty的作用及用法说明

    关于@ConditionalOnProperty的作用及用法说明

    这篇文章主要介绍了关于@ConditionalOnProperty的作用及用法说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • Java实现邮件发送功能

    Java实现邮件发送功能

    这篇文章主要为大家详细介绍了Java实现邮件发送功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • Java中创建对象的5种方式总结

    Java中创建对象的5种方式总结

    本篇文章主要介绍了Java中创建对象的5种方式总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • Java Calendar日历类原理及使用方法

    Java Calendar日历类原理及使用方法

    这篇文章主要介绍了Java Calendar日历类原理及使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • SpringBoot加载配置6种方式分析

    SpringBoot加载配置6种方式分析

    这篇文章主要介绍了SpringBoot加载配置6种方式分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-10-10
  • Spring Boot中RabbitMQ自动配置的介绍、原理和使用方法

    Spring Boot中RabbitMQ自动配置的介绍、原理和使用方法

    本文介绍了Spring Boot中RabbitMQ自动配置的介绍、原理和使用方法,通过本文的介绍,我们希望读者能够更好地理解Spring Boot中RabbitMQ的使用方法,并在项目中更加灵活地应用,感兴趣的朋友跟随小编一起看看吧
    2023-07-07

最新评论