一、安装
- 下载地址https://github.com/alibaba/nacos,下载完成并解压
- 进入到bin目录下打开终端,运行startup.cmd
- 访问http://localhost:8848/nacos进入管理页面 初始账号密码nacos
4. nacos支持AP和CP的切换
二、服务注册
- 父工程引入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
- 服务实例引入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-nacos-discovery</artifactId>
</dependency>
- 配置yml
- 启动类添加注解@EnableDiscoveryClient
- 启动服务实例验证
nacos支持AP、CP模式切换
三、配置中心
- 引入依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-nacos-config</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-nacos-discovery</artifactId>
</dependency>
- 配置yml
bootstrap.yml
application.yml
- 编写配置
Data ID规则:
${prefix}-${spring.profiles.active}.${file-extension}
prefix 默认为 spring.application.name 的值,也可以通过配置项 spring.cloud.nacos.config.prefix来配置。
spring.profiles.active 即为当前环境对应的 profile,详情可以参考 Spring Boot文档。 注意:当 spring.profiles.active 为空时,对应的连接符 - 也将不存在,dataId 的拼接格式变成 p r e f i x . {prefix}. prefix.{file-extension}
file-exetension 为配置内容的数据格式,可以通过配置项 spring.cloud.nacos.config.file-extension 来配置。目前只支持 properties 和 yaml 类型。 - 制动刷新@RefreshScope
- 启动类添加注解@EnableDiscoveryClient
三、分类配置
NameSpace:用来实现隔离,默认时public;例如:开发、测试、生产
Group:可以把不同的微服务划分到同一个分组,默认DEFAULT_GROUP
Service:微服务,可以包含多个集群
Instance:微服务实例
配置group
在config节点下新增group节点并设置使用的分组名称.
配置nameSpace
在config节点下新增nameSpace节点并设置使用的分组名称.
四、持久化
nacos支持储存配置到MySQL数据库
1.安装数据库,版本要求:5.6.5+
2.初始化mysql数据库,数据库初始化文件:nacos-mysql.sql
3.修改conf/application.properties文件,增加支持mysql数据源配置(目前只支持mysql),添加mysql数据源的url、用户名和密码。
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://11.162.196.16:3306/nacos_devtest?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=nacos_devtest
db.password=youdontknow
五、集群
- 进入到nacos的conf文件夹,备份并修改集群配置文件夹
cp cluster.conf.example cluster.conf
vim cluster.conf
- 编辑startup.sh 使他能够接收不同的启动端口 /nacos/bin目录下
修改代码片段
- 修改nginx配置文件nginx.conf
-
启动nacos、nginx
startu.sh -p 端口号
nginx的sbin目录下
./nginx -c /usr/local/nginx/conf/nginx.conf -
微服务注册到nacos集群