zoukankan      html  css  js  c++  java
  • Nacos服务分级存储模型、集群、负载均衡

    服务分级存储模型

    服务:开发子模块(相当于Object)

    实例:启动子模块(相当于new Object)

    在没有服务分级存储模型之间,假设所有的实例都在一个服务器机房中,如果服务器机房出现问题,整个服务就无法使用,再来看服务分级存储模型就会有一个直观的认识,服务分级存储模型目的是为了容灾,其思想就是将实例分散到不同区域的服务器上。

    集群

    配置服务集群属性

    spring.cloud.nacos.discovery.cluster-name: SH # 配置集群名称,也就是机房位置,例如:SH,上海

     启动

    查看服务详情

    UserService服务集群已经配置完成,现在需要OrderService服务优先访问本地UserService服务集群,那么就需要配置order-service模块的集群名

    spring.cloud.nacos.discovery.cluster-name: SH # 配置集群名称,也就是机房位置,例如:SH,上海

    启动

    查看详情

    配置成功

    负载均衡

    服务调用尽可能选择本地集群的服务,跨集群调用延迟较高

    通过浏览器分别访问http://localhost:8082/order/101、http://localhost:8082/order/102、http://localhost:8082/order/103、http://localhost:8082/order/104

    并没有按照我们想象的那么优先执行本地集群,而是根据轮巡的方式执行规则,执行规则是负载均衡的规则

    指定负载均衡规则

    userservice:
      ribbon:
        NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule # 负载均衡规则 

    NacosRule规则:优先寻找同集群的实例,集群内多个实例通过随机方式进行负载均衡,本地集群不可访问时,再去访问其它集群

    重启OrderService服务,清空控制台

    再次访问http://localhost:8082/order/101、http://localhost:8082/order/102、http://localhost:8082/order/103、http://localhost:8082/order/104

    本地集群不可访问时,再去访问其它集群

    关闭HZ集群中的UserService实例

    再次访问http://localhost:8082/order/101

    根据权重负载均衡

    实际部署中会出现服务器设备性能有差异,部分实例所在机器性能较好,另一些较差,我们希望性能好的机器承担更多的用户请求

    Nacos提供了权重配置来控制访问频率,权重越大则访问频率越高

    • Nacos控制台可以设置实例的权重值,0~1之间
    • 同集群内的多个实例,权重越高被访问的频率越高
    • 权重设置为0则完全不会被访问
  • 相关阅读:
    curl 抓取图片
    checkbox 全选
    大文件断点上传 js+php
    php快速排序
    直接插入排序(Straight Insertion Sort)
    选择排序 Selection sort
    57.猴子吃桃问题
    56.一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?
    55.输入两个正整数m和n,求其最大公约数和最小公倍数
    54.将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5
  • 原文地址:https://www.cnblogs.com/WarBlog/p/15401296.html
Copyright © 2011-2022 走看看