Nacos 数据模型 Key 由三元组唯一确定, Namespace默认是空串,公共命名空间(public),分组默认是 DEFAULT_GROUP。

以上都是nacos官网上面的图片及描述,综合一下应该是这个样子

可以在nacos控制台看到与之对应的界面

我们来看下这些东西都是用来干嘛的,

NameSpace可以用来进行资源的隔离,比如我们dev环境的服务和test环境的服务都往同一个nacos服务上面注册,dev环境是调用不到test环境的服务的。

我们在nacos控制台新建两个namespace,test和dev会生成两个ID

设置我们订单服务和库存服务的namespace,一个为dev一个为test

再来查看nacos控制台的服务列表会看见两个服务并不在public的命名空间下了,而是去到了test和dev下面,调用我们创建订单的接口,会发现在订单服务里面无法去扣减库存了。因为这两个服务现在已经不在同一个namespace下面了,无法进行调用了。

Group顾名思义就是分组了,比如订单和支付服务是支付组,库存物流属于物流组,不同的分组之前的服务也是不能进行调用的。将上面的服务设置成同样的namespace之后,发现服务可以调用了。但是我们有设置成不同的分组,发现服务又不能调用了。

两个扩展点:spring.cloud.nacos.discovery.cluster-name参数

cluster-name,可以设置上之后通过自己的负载均衡算法可以实现优先同集群调用,减少网络开销,比如在成都这边都有部署订单服务和库存服务,那么订单调库存的时候优先调用成都机房的库存服务(spring.cloud.nacos.discovery.cluster-name=CD)。

spring.cloud.nacos.discovery.metadata参数

元数据参数可以配置一些额外的信息,比如设置一个版本进去,通过自己的负载均衡算法实现同版本之间的服务调用。比如线上有10个订单服务和10个库存服务都是V1版本,现在改部分改动,都上了2个V2版本,通过实现我们自己的负载算法,使得V2版本的订单只能调用V2库存服务。

以上的数据模型详见Nacos源码:com.alibaba.nacos.naming.core.ServiceManager类

这个双层Map的key分别是namespace和group::serviceName,

com.alibaba.nacos.naming.core.Service中可以看到有一个Map,

com.alibaba.nacos.naming.core.Cluster中才是具体的服务实例com.alibaba.nacos.naming.core.Instance的Set集合,一个是持久化实例,一个非持久化实例。

文章来源: www.cnblogs.com,作者:白露非霜,版权归原作者所有,如需转载,请联系作者。

原文链接:https://www.cnblogs.com/nijunyang/p/12313572.html

nacos 公共_Nacos数据模型相关推荐

  1. nacos 公共_Nacos 知识点

    Nacos 名字的由来(取红色的英文字符): Dynamic Naming and Configuration Service Nacos 数据模型 Key 由三元组唯一确定, Namespace默认 ...

  2. nacos 公共_Springboot,Nacos并向使用研究

    nacos 测试样例 : 1.nacos 管理的配置文件中,配置了一个key,再到项目中bootstrap.yml中配置相同的key,不起作用! nacos 配置: info: redis: host ...

  3. nacos 公共_SpringCloud配合注册中心Nacos的使用

    一.Nacos简介 Nacos核心提供的两个功能:服务注册与发现,动态配置管理. 1.服务注册与发现 Nacos提供基于DNS和基于RPC的服务发现,即能被用来支持https/http的服务注册与发现 ...

  4. nacos 公共_技术分享——使用nacos作注册中心和配置中心

    什么是nacos? 首先看下官方的简介: Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量管理. Naco ...

  5. 码云nacos下载_nacos安装,配置以及持久化

    windows 10 +nacos 1.1.4 + mysql8.0.12 +JDK11(无影响) 步骤 1.github上下载(也可采用码云下载,较快) github地址:https://githu ...

  6. linux nacos启动_nacos初体验-踩坑与填坑篇

    最近在看 RuoYi 的分布式微服务架构权限管理系统,RuoYi 的注册中心和配置中心都是采用 alibaba 的 nacos,本文主要介绍使用 Windows10 电脑安装 nacos 1.3.2 ...

  7. 无法加入nacos服务列表_Nacos 1.1.1 发布,支持灰度配置和地址服务器模式

    Nacos 是阿里巴巴开源的配置中心和服务发现产品,开源距今已经超过一年的时间.本次1.1.0的发布,带来了许多重量级的特性更新,包括灰度配置等社区呼声很高的特性,下面会介绍1.1.0版本发布的新特性 ...

  8. linux nacos启动_Nacos集群安装配置

    上篇文章讲到Nacos从v1.3.2开始,windows系统启动脚本默认改成了集群模式(也就是不带参数"-m standalone"),那么如果双击startup.cmd启动就会失 ...

  9. nacos启动_nacos微服务注册中心

    nacos主要可作为微服务架构中 动态服务发现.服务配置.服务元数据及流量管理 快速使用方法:(k8s集群内) 1.下载包,并解压放到服务器,准备用dockerfile打包镜像 FROM 192.16 ...

最新文章

  1. 数据库维护优化及后期改进约定.实践篇
  2. Field、CopyField、DynamicField的一些简介,用法
  3. 以ActiveMQ为例JAVA消息中间件学习【4】——消息中间件实际应用场景
  4. 可执行文件组成及内存映射
  5. 美国人用什么android手机,美国人最爱的安卓手机:多年稳居榜首,与iPhone共分一杯羹...
  6. linux的vi把文件合并一行,学习Vim合并行的方法和技巧
  7. 分支语句复习 java 9018
  8. Jenkins+GitHub+Xcode+fir搭了一个持续集成环境
  9. 跟着大彬读源码 - Redis 1 - 启动服务,程序都干了什么?
  10. Linux内核变迁杂谈——感知市场的力量
  11. Selenium FirePath的安装和使用
  12. 企业私有云技术设计方案
  13. postgresql 客户端启动配置
  14. arm tcm linux,认识S3C6410 - 深入理解ARM体系架构(S3C6410)_Linux编程_Linux公社-Linux系统门户网站...
  15. %02x与%2x 之间的区别
  16. 计算机视觉基础知识点(根据cs231n以及博客内容整理)
  17. TCP和UDP的区别有哪些?
  18. 【20180615】【射频通信】RF、IF、Baseband的区别,PLL和VCO的定义,I/Q信号的定义
  19. 嵌入式学习班到底怎么样?
  20. 径向基函数和粗糙集在进化多目标优化中的应用

热门文章

  1. 来,拆一堆芯片看看!
  2. 怎么用计算机算p a,老师,(P/A,12%,10)这个值用计算器怎么算出来?
  3. 把mysql某一列求和_Laravel 对某一列进行筛选然后求和sum()的例子
  4. Unity c# 状态机的简单入门
  5. 2018.6.1信息安全铁人三项赛数据赛writeup
  6. 【Java】类加载过程
  7. 21_resultMap和resultType总结
  8. C#重写Equals方法步骤
  9. C# WINFORM的自动更新程序
  10. The Child and Sequence