1.环境准备
1.1.下载
GitHub上可以直接下载nacos
.zip,windows版
.tar.gz,Linux版
1.2.安装
直接解压即可,bin文件夹下有启动、停止指令
1.3.配置
nacos默认是集群模式,想要使用单点的话,需要修改一下startup.cmd中的内容:
修改MODE
原生:
修改为:
1.4.管理页
默认地址为 localhost:8848/nacos
默认用户名:nacos
默认密码:nacos
2.服务注册
2.1.概述
springcloud alibaba采用nacos作为注册中心,对标springcloud Netflix的eureka实现服务的注册。
nacos=eureka+config+bus
2.2.使用
nacos和eureka本质上都是启动一个进程,该进程负责服务的管理,
nacos和eureka的最大区别在于,eureka需要自己搭建一个eureka server的服务,启动服务的方式来启动进程,nacos则是以应用的方式下载安装,以运行软件的方式来启动一个进程。
2.2.1.生产者
依赖:
配置:
启动类:
管理控制台:
2.2.2.消费者
依赖:
配置文件:
用ribbon做RPC:
nacos依赖中集成ribbon依赖
启动类:
服务调用:
3.服务配置
3.1.概述
springcloud alibaba采用nacos作为配置中心,对标springcloud Netflix的config(bus)实现服务的配置管理。nacos和config本质上都是启动一个进程,该进程负责配置的管理,。nacos和config的最大区别在于,config需要自己搭建一个config server的服务,通过启动服务来启动进程,nacos则是直接以应用的方式下载安装,以运行软件的方式来启动一个进程。
为了适配Netflix,nacos的实现也是服务通过bootstrap.yml去注册中心拉取配置文件,再给到application.yml。
3.2.使用
依赖:
配置:
在配置中心发布配置:
启动类:
测试:
3.3.匹配规则
3.4.分类管理
namespace、group、data id,相当于maven的GAV坐标,
namespace相当于一个包,包里面的每个配置文件用group+data id做区分。
3.4.1.data id
data id,即配置文件的名称
由服务的配置文件按照data id 的匹配规则拼接而成:
3.4.2.group
3.4.3.namespace
新建完成后配置管理界面会多出新建的命名空间,直接在下面新建配置文件即可。
每个namespace都有独一无二的id,在服务中的配置文件中通过id关联namespace。
4.持久化
nacos默认将数据存储在自带的嵌入式数据库derby中,因此nacos关机数据并不会丢失。除此以外nacos还支持将数据库切换为mysql,使用mysql来进行数据的持久化。
4.1.数据库环境
nacos的安装目录下的config文件夹中有一个sql文件,该sql文件直接放到数据库中执行,可以生成nacos的配置表。
4.2.切换数据源
修改nacos的配置文件,开启mysql的支持,配置mysql的url,username,password。
完成以上配置后重启nacos,nacos就会和mysql进行数据交互。
新增的数据全部都会入库mysql。