Nacos领域模型与服务注册基本原理

数据模型

NameSpaceGroupService/DataId目的是为了将数据模型分类,从而形成一定的效果,比如服务隔离,不同的NameSpace中的服务不能够相互访问

数据模型的最佳实践

  • NameSpace:代表不同的运行环境,Dev/Test/Prod
  • Group:代表某一类配置,如中间件配置,数据库配置等
  • Service/DataId:代表某服务的具体配

领域模型


Nacos的三层分级模型(服务、集群、实例)主要是为了解决大型互联网公司多集群,跨DC的解决方案

  • NameSpace:实现环境隔离,默认值Public
  • Group:不同的Service可以组成一个Group,默认值为Default-Group
  • Service:服务名称
  • Cluster:对指定的微服务虚拟划分,默认值为Default
  • Instance:某个服务的具体实例

Nacos服务注册中心架构


由官网给出的Nacos服务注册中心架构图来看,在Nacos Server中对外开放了一套OpenAPI,在服务注册与发现的所有流程中都必须通过Nacos Server提供的OpenAPI调用,Nacos Server中还有Config ServiceNaming Service分别提供配置中心与服务注册发现的功能,Consistency Protocol则是分布式一致性协议,Nacos Console则是提供的可视化操作界面

Nacos服务注册中心基本原理


当服务启动完成后,服务提供方使用OpenAPI发起服务注册,服务提供方与Nacos Server建立心跳,服务消费者去查询服务提供方注册的实例列表,并且每10S轮询拉取,这里不断去轮询新列表主要是为了避免通过心跳检查服务状态发生异常,保证消费者永远都是消费的活服务

如果通过心跳机制发现服务提供者发生异常,无法提供服务,Nacos Server会基于UDP协议对服务消费者进行推送更新,对发生异常的服务进行剔除,由于Nacos内部是使用ConcurrentHashMap存储服务的注册信息,所以会直接从mapremove

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值