10.Spring Cloud Alibaba Nacos配置中心
Nacos 配置中心
在前面的博客中介绍了Nacos作为服务注册中心的使用。也介绍了Spring Cloud Config作为配置中心的使用。
快捷链接:
8.Spring Cloud Alibaba Nacos(一) 服务注册中心
在介绍Spring Cloud Alibaba Nacos作为注册中心中,是将Nacos部署的为单机模式。这里做一下扩展。
-
单机模式并使用MySQL作为数据源(这里以Linux服务器演示)
-
进入解压的nacos文件夹conf目录中
-
在MySQL数据库(5.6.5+)中执行SQL文件
-
编辑application.properties配置文件。
使用vi命令编辑,在末尾添加配置
spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://111.222.333.44:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true db.user=root db.password=root1234
数据库名称、用户名、密码、IP 自行更换
-
关闭nacos服务器
进入当前目录的上级目录bin
sh shutdown.sh
-
重新启动
这里单机模式还是在末尾添加模式
sh startup.sh -m standalone
-
简单验证
我们查询users表中的用户
访问Nacos页面(默认用户密码均为nacos)更改密码,继续查询
-
-
集群模式
集群模式的数据源可以使用内置数据源,也可以使用MySQL或其他数据源。
配置数据源照上面的操作即可。
此外,在conf目录中,需要额外配置
cluster.conf
文件。官网中给的建议是请配置3个或3个以上节点-
直接复制一份
cp cluster.conf.example cluster.conf
-
vi编辑,在末尾添加
ip:port
这样的形式。比如:192.168.0.1:8848 192.168.0.2:8848 192.168.0.3:8848
-
集群模式启动
如果使用内置数据源
sh startup.sh -p embedded
如果使用外置数据源
sh startup.sh
-
使用Nacos做配置中心
与使用Spring Cloud Config作为配置中心大同小异。使用起来也比较简单。
-
在创建项目时勾选,或添加依赖。
maven依赖
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency>
-
在Nacos中添加配置文件。命名规则为:
服务名-环境.yml
以book-service为例。
先在Nacos中新建命名空间(可以不创建)。
在 dev空间中创建配置文件book-service-dev.yml并增加配置
-
移除项目中的application.yml文件,新建bootstrap.yml文件,添加注册中心的配置。
spring: application: name: book-service profiles: active: dev cloud: nacos: #配置中心 config: server-addr: localhost:8848 username: nacos password: nacos #文件扩展名 file-extension: yml # group group: DEFAULT_GROUP #命名空间ID 根据自己创建生成的复制过来 namespace: 6abc6ab8-9717-4a40-80c8-585ccbfeb2db #微服务全局共享配置信息 shared-configs: - data-id: common.yml group: DEFAULT_GROUP refresh: true
配置信息中的全局共享信息配置文件common.yml就存放一些微服务都要使用的相同的配置即可。
-
启动运行
从日志中我们可以看到,项目启动会去读取配置文件,这里复制一段日志打印:
b.c.PropertySourceBootstrapConfiguration : Located property source: [ BootstrapPropertySource {name='bootstrapProperties-book-service-dev.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-book-service.yml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-book-service,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-common.yml,DEFAULT_GROUP'}]
这里在启动的时候会陆续读取这些配置文件
-
附
在工作中合理使用命名空间,group,项目运行环境等配置不同环境的配置文件即可,总的来说上手容易。
补充
我们在Nacos管理端中,查看服务列表。
这里我们可以对服务实例做一些配置:
多个实例的时候设置权重值(权重调大,实例的流量越大。如果不想实例接收流量,则可以将权重设为0)。
此外还可以服务元数据管理,优雅的上下线。
本文地址:https://blog.csdn.net/u012708900/article/details/110532323
推荐阅读
-
10.Spring Cloud Alibaba Nacos配置中心
-
Spring Cloud 配置中心内容加密的配置方法
-
Spring Cloud Alibaba Nacos 入门详解
-
Spring Cloud之配置中心的搭建
-
Spring Cloud 配置中心内容加密的配置方法
-
利用Spring Cloud Config结合Bus实现分布式配置中心的步骤
-
spring-cloud入门之spring-cloud-config(配置中心)
-
详解spring cloud config整合gitlab搭建分布式的配置中心
-
Spring Cloud微服务架构的构建:分布式配置中心(加密解密功能)
-
Spring Cloud Config实现分布式配置中心