概述
Nacos是SpringCloudAlibaba架构中最重要的组。
Nacos 是一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台,提供注册中心、配置中心和动态 DNS 服务三大功能。能够无缝对接Springcloud、Spring、Dubbo等流行框架。
nacos和eureka功能对比。
nacos支持a(高可用)p(分区容错)和c(一致性)p的切换默认为ap, eureka仅支持ap,zookeeper仅支持cp。
Nacos的2个核心作用:
服务发现
配置管理
Naocs的使用
nacos有namespace和组的概念,我们可以通过这两个组合的方式配置开发的环境与对应的服务。本人采用的是namespace作为环境(dev,test.pro),用组作为项目,原因是我们相同的环境需要注册到一个namespace下,不然要多开一个namespace作为注册中心。配置中心有一个dataId的概念(项目名称-环境.扩展名),每次项目启动时,会读取bootstrap.yml文件,通过这个文件找到配置中心对应的dataId,然后加载配置。
配置中心的具体使用
extension-configs:是依赖进来的jar包中的配置
shared-configs:共享文件配置
配置文件的加载顺序
本项目对应的nacos文件>扩展配置内容> 共享配置内容>bootstrap.yml中的内容,如果我们想让本地多起几个不同的实例子,改变bootstrap.yml中的端口即可,但是有一个问题,该文件中的配置内容优先级最低,故我们需要在本项目对应的配置文件中加上如下配置来改变优先级
注意nacos版本对应mysql的版本可能存在兼容性问题,nacos1.41以下有mysql5.7,1.4及以上要用8,