优点理论什么的就不说了,按照流程开始配配置吧。
登录Centos,启动Naocs,使用sh /data/soft/restart.sh将自动启动Nacos。
访问:http://192.168.101.65:8848/nacos/账号密码:nacos/nacos
分为两部分,第一部分准备部分,第二部分是管理配置部分
一.准备
创建命名空间
登录成功,点击左侧菜单“命名空间”进入命名空间管理界面,名字和下面模块里的namespace对应
使用相同的方法再创建“测试环境”、"生产环境"的命名空间。
新建命名空间
项目里添加依赖
下边将内容管理服务注册到nacos中
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
XML
//注册发现
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
//配置管理
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
需要注册发现的模块写xml
YAML
#微服务配置
spring:
application:
name: system-service //注释这个名字改成自己的
cloud:
nacos:
server-addr: 192.168.101.65:8848
discovery:
namespace: dev
group: xucheng-plus-project
重新启动,去查看nacos服务查看服务列表
二.配置中心
现在目的就是通过Nacos去管理项目的所有配置,有两类配置,一种是自己特有的,一个是都会用的到的,nacos去定位一个具体的配置文件,即通过:namespace、group、dataid.
在nacos中配置,去工程里面关联,完成统一配置
1.管理自己的配置
这个Data ID来自于name,namespace,file-extension2,下面还有Group的属性
YAML
spring:
application:
name: content-service
cloud:
nacos:
server-addr: 192.168.101.65:8848
discovery:
namespace: dev
group: xuecheng-plus-project
config:
namespace: dev
group: xucheng-plus-project
file-extension: yaml
refresh-enabled: true
#profiles默认为dev
profiles:
active: dev
需要被管理的模块导入nacos的config的配置依赖,上面有
总结一下:
第一步.在nacos里的配置管理-配置列表里写相对应模块的yaml,里面写需要被管理的配置
第二步.在模块里的yaml文件里写微服务配置,让nacos能找到他(通过三部分找到,上面有写)
第三步.相关模块导依赖,上面有俩依赖,一个是按照需要导
拓展.要是有依赖别的模块的jar,这里使用extension-configs扩展配置文件 的方式引用
#微服务配置
spring:
application:
name: media-api
cloud:
nacos:
server-addr: 192.168.101.65:8848
discovery:
namespace: ${spring.profiles.active}
group: xuecheng-plus-project
config:
namespace: ${spring.profiles.active}
group: xuecheng-plus-project
file-extension: yaml
refresh-enabled: true
extension-configs:
- data-id: media-service-${spring.profiles.active}.yaml
group: xuecheng-plus-project
refresh: true
shared-configs:
- data-id: swagger-${spring.profiles.active}.yaml
group: xuecheng-plus-common
refresh: true
- data-id: logging-${spring.profiles.active}.yaml
group: xuecheng-plus-common
refresh: true
profiles:
active: dev
2.管理公共的配置
例如,公共管理swagger,需要两步,第一步nacos写配置,第二步模块里的xml去引用,我这提供个例子。
看模块里的配置:shared-configs:这个共享配置
#微服务配置
spring:
application:
name: media-api
cloud:
nacos:
server-addr: 192.168.101.65:8848
discovery:
namespace: ${spring.profiles.active}
group: xuecheng-plus-project
config:
namespace: ${spring.profiles.active}
group: xuecheng-plus-project
file-extension: yaml
refresh-enabled: true
extension-configs:
- data-id: media-service-${spring.profiles.active}.yaml
group: xuecheng-plus-project
refresh: true
shared-configs:
- data-id: swagger-${spring.profiles.active}.yaml
group: xuecheng-plus-common
refresh: true
- data-id: logging-${spring.profiles.active}.yaml
group: xuecheng-plus-common
refresh: true
profiles:
active: dev
ok,这就是模板,剩下的,您这有需要就自己按照我这个去配置吧。