Cloud依赖:
<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>
1:注册中心:
(1):导入Maven依赖包:服务注册依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
首先Nacos需要先创建一个组和一个命名空间。不填写命名空间的话会自动生成一个
这里的1010班级命名空间改成dev402与下面图对应:
根据命名空间和组在项目中的服务可以找到这个自己所在的地方:完成服务注册,完成服务注册暂时没有用到group分组,分组是与下面的服务配置有关
spring:
cloud:
nacos:
# 【注册中心】相关配置
discovery:
# 命名空间(大分组)默认为:public
namespace: dev402
# 分组名称,默认为【DEFAULT_GROUP】
group: xuecheng-plus-project
# 注册中心地址
server-addr: localhost:8848
Nacos作为配置中心:
Maven依赖:跟上面注册中心的几乎一样只有最后一个单词不同;
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
在环境下新增配置:在上述通过namespace、group找到具体的环境和具体的项目后,会通过dataid找到具体的配置文件,这个dataid一共由三部分组成:
例:content-service-dev.yaml配置文件 由(content-service)-(dev). (yaml)三部分组成:
-
content-service:第一部分,它是在application.yaml中配置的应用名,即spring.application.name的值。
-
dev:第二部分,它是环境名,通过spring.profiles.active指定,
-
Yaml: 第三部分,它是配置文件 的后缀,目前nacos支持properties、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: xuecheng-plus-project
file-extension: yaml
refresh-enabled: true
#profiles默认为dev
profiles:
active: dev
然后比如数据库连接这种配置就可以写在nacos中:
如果某一个微服务引用了其余微服务的配置,需要在配置文件中引入:根据dataid寻找配置
extension-configs:
- data-id: content-service-${spring.profiles.active}.yaml
group: xuecheng-plus-project
refresh: true
公共配置:swagger+logging
在yml中引用:
总结:
1:通过环境名字找到服务;