首页 > 其他分享 >Nacos的服务分级模型

Nacos的服务分级模型

时间:2024-05-23 09:52:08浏览次数:31  
标签:服务 模型 Nacos Eureka 实例 集群 nacos 分级

  1. 分级模型

    • 为了提升整个系统的容灾性,Nacos 引入了地域 (Zone) 的概念,如上图中的北京、上海和杭州。把同一个服务的多个实例部署到不同地域的机房中 (鸡蛋分开不同的篮子放) ;又把在同一个地域的机房的多个服务实例称为集群 (Cluster) 。比如,杭州机房的 2 个用户服务 user-service 称为杭州 user-service 集群。

    • 因此,在 Nacos 的服务分级模型中,
      第一级是微服务 (如订单服务) ;
      第二级是集群 (如北京订单服务集群、上海订单服务集群等) ;
      第三集是实例 (如杭州服务集群的 8081 端口实例、8082 端口实例等) 。

  2. 服务分级模型的必要性

    • 微服务之间的远程调用要优先调用同一个地域的集群中的实例,因为访问同一个集群中的服务距离较短、速度比较快、延迟比较低。而跨地域集群地域距离远、速度慢、延迟高 。

    • 那为什么 Nacos 还要增加一层【集群】的概念呢?

    为了避免跨地域集群的远程调用发生,让微服务之间的远程调用尽可能地发生在同一个地域集群中,保证访问的高速低延迟。同时为了当同地域的集群服务不可用时,可以跨地域集群访问,保证服务的高可用,提升系统的容灾能力。

  3. 配置集群属性

    • 需要修改服务提供者的application.yml 配置文件,启动不同的实例
    spring: 
      # Nacos配置
      cloud:
        nacos:
          server-addr: 127.0.0.1:8848 # Nacos服务地址
          discovery:
            cluster-name: HZ 
    
    • 需要修改服务消费者的application.yml 配置文件,启动不同的实例
    spring: 
      # Nacos配置
      cloud:
        nacos:
          server-addr: 127.0.0.1:8848 # Nacos服务地址
          discovery:
            cluster-name: HZ 
    
    • 还需要修改消费者的负载均衡策略
    userservice:
      ribbon:
        NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule  # 负载均衡策略
    
  4. 根据权重负载均衡:服务器的设备差异,在nacos中可以直接编辑权重值。

  5. Nacos中的环境隔离:在机器不够的情况下,需要一套Nacos多个环境使用,那么在这里一般会使用多个Namespace(dev、test、staging、prod)来区分环境,然后再通过dataID来指定每个服务的配置文件,这样就可以每个环境的服务注册发现不会相互干扰,并且也不会用到其他环境的配置文件。

    cloud:
        nacos:
          discovery:
            username: nacos
            password: nacos
            server-addr: 127.0.0.1:8848
            # 注册到 nacos 的指定 namespace,默认为 public
            namespace: public
    
  6. Nacos和Eureka的区别

    • Nacos和Eureka都提供了动态服务发现、配置管理、服务元数据管理和流量管理等功能。然而,它们之间也存在一些差异。例如,Nacos支持服务端主动检测提供者状态,而Eureka则采用客户端检测机制。此外,Nacos支持服务列表变更的消息推送模式,服务列表更新更及时,而Eureka则采用拉取模式。

    • Nacos和Eureka都具有较高的性能和可扩展性。然而,由于Nacos是基于长连接的,因此在处理大量并发请求时可能会表现出更高的性能。而Eureka则采用短连接和定时发送的方式,因此在处理少量请求时可能具有更好的性能。

    • Eureka采用CS架构,由服务注册中心Eureka Server和服务提供者/消费者Eureka Client组成;Nacos采用高可用的P2P设计(无主节点),所有的server节点都是同等作用,支持AP和CP两种模式;

标签:服务,模型,Nacos,Eureka,实例,集群,nacos,分级
From: https://www.cnblogs.com/hytip/p/18207688

相关文章

  • Nacos注册中心
    Nacos是springcloud的扩展,注册中心功能通过NacosDiscoveryClient继承DiscoveryClient,在springcloud中,与Eureka可以无侵入的切换。注册中心可以手动剔除服务实例,通过消息通知客户端更新缓存的实例信息,完整调用链路示例如下:Nacos的关键特性包括:服务发现和服务健康监测动......
  • 鸿蒙HarmonyOS实战-Stage模型(AbilityStage组件容器)
    ......
  • 动态sbm模型dsbm复现
    大家新年好!今天推出的是动态SBM模型,参考文献是:《DynamicDEA:Aslacks-basedmeasureapproach》,文献doi是:10.1016/j.omega.2009.07.003不同于常见的DEA模型只能处理截面数据,动态SBM模型能够处理面板数据,其结构如下:其中的链接变量,carry-over分为以下四种:(1)理想的(好的)链接,这......
  • NSBM模型复现
    今天推出的是网络SBM模型。传统的SBM模型处理关于多输入与多输出的dmu相对效率的测量。这些模型的缺点之一是忽略了中间产品或链接活动。在指出将中间产品纳入DEA模型的需求后,作者提出了一个基于松弛的网络DEA模型,称为网络SBM,它可以形式化地处理中间产品。使用该模型,我们可以评估......
  • 2022-07-03-含有非期望产出的sbm模型python代码
    传统的径向DEA模型无法考虑“松弛变量”对效率值的影响,也没有考虑同时使期望产出增加,非期望产出减少的技术变化,以此度量的效率值是不准确或有偏的,为了解决这一问题,Tone(2001)提出了基于投入产出松弛变量的环境效率评价模型,简称SBM模型,在此基础上,他进一步提出了SBM的拓展模型,从而实......
  • 2022-06-29-对抗型交叉评价dea模型matlab代码
    对抗型交叉评价DEA模型matlab代码,代码来自于彭育威老师的《利用MATLAB进行DEA交叉评价分析》一文,​非常适合学习。如果您想做仁慈型DEA​,可与我联系。clearX=[3060554070;2540703090;13015012070180];%用户键入输入矩阵Y=[3543765263;6080534271];......
  • 2022-06-28-零和收益ZSG-DEA模型的求解程序
    今天要向大家推介的是DEA中的ZSG模型。Lins和Gomes等人提出了零和收益DEA模型(ZSG-DEA),该模型可以根据决策单元的DEA效率值对非期望产出的分配方案进行调整,给出改进的分配方案,该模型多用于CO2的分配问题的研究上,通过对整体中各个区域的碳减排责任进行分析,同时按照ZSG模型进行迭......
  • 2022-06-28-基于共同前沿下含非期望产出SBM模型的影子价格测算
    在影子价格研究方面,国内外学者主要利用参数化和非参数化两种方法研究生产要素的影子价格,参数化方法如根据Shephard产出距离函数法和投入距离函数法来测算影子价格,非参数化方法以数据包络分析方法为主,如以更为灵活的SBM模型测算能源的影子价格。此外,考虑到中国各省域发展不平衡的......
  • 模型选择
    模型选择采用敏捷软件开发过程模型。以下是选型的理由:1.需求变化频繁由于需求经常会发生变化,采用传统的瀑布模型容易导致开发滞后、项目延期等问题。而敏捷开发强调快速响应客户需求,能够更好地适应需求变化。2.开发周期较短高校社团管理系统是一个小型的项目,开......
  • 从立创导出元件原理图、封装、3D模型到AD的方法
    1.导出原理图搜索器件并点击数据手册再点击立即打开原理图里面点击导出AD,即可下载原理图文件将下载文件用AD打开,并生成原理图库将生成的原理图库文件复制到自己的原理图库即可2.导出PCB步骤同上,不再赘述3.导出3D模型这里就不能用网页版立创,在软件立创EDA里面先随便......