1.1 Nacos安装
参考官方文档Reference:https://nacos.io/zh-cn/docs/quick-start.html
安装完成之后就可以通过http://xxx.com:8848/nacos
访问Nacos的控制台了,用户名密码均为nacos
然后创建一个自定义的命名空间,命名空间的主要作用就是资源隔离
Nacos既是一个服务注册中心,也是一个配置中心,下面演示服务注册和配置管理
1.2 服务发布
以shop-user
为例,在pom
文件中添加spring-cloud-starter-alibaba-nacos-discovery
依赖,然后在启动类上添加@EnableDiscoveryClient
注解
<!--nacos客户端-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
@SpringBootApplication
@EnableDiscoveryClient
public class UserApplication {
public static void main(String[] args) {
SpringApplication.run(UserApplication.class,args);
}
}
配置文件如下:
server:
port: 9527
spring:
application:
name: shop-user
datasource:
name: userDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
type: com.alibaba.druid.pool.DruidDataSource
url: jdbc:mysql://xxx.com:3306/shop?useUnicode=true&characterEncoding=UTF8&serverTimezone=Asia/Shanghai
username: root
password: lz123
druid:
max-active: 20
min-idle: 10
initial-size: 5
test-while-idle: false
cloud:
nacos:
discovery:
server-addr: xxx.com:8848
namespace: 24712b7c-05ad-4b79-af97-1d202431f521
group: LZ_GROUP_MASTER
注:子模块依赖中一定要有spring-boot-starter
依赖,否则无法将服务注册到nacos
启动服务后,就可以在Nacos控制台的服务列表看到注册的服务
1.3 服务配置
1.3.1 在子模块的pom
文件中添加config依赖
<!--config依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
1.3.2 添加nacos config配置
注:不能使用原来的application.yml
作为配置文件,而是新建一个bootstrap.yml
作为配置文件
配置文件优先级(由高到低):
bootstrap.properties -> bootstrap.yml -> application.properties -> application.yml
创建一个bootstrap.yml
配置文件
spring:
profiles:
active: dev
application:
name: shop-user
cloud:
nacos:
config:
server-addr: xxx.com:8848
namespace: 24712b7c-05ad-4b79-af97-1d202431f521
group: LZ_GROUP_MASTER
file-extension: yml
1.3.3 在nacos中添加配置
说明:之所以需要配置 spring.application.name ,是因为它是构成 Nacos 配置管理 dataId字段的一部分。
在 Nacos Spring Cloud 中,dataId 的完整格式如下:
${prefix}-${spring.profiles.active}.${file-extension}
-
prefix
默认为spring.application.name
的值,也可以通过配置项spring.cloud.nacos.config.prefix
来配置 -
spring.profiles.active
即为当前环境对应的profile
。注意:当
spring.profiles.active
为空时,对应的连接符 – 也将不存在,dataId
的拼接格式变成${prefix}.${file-extension}
-
file-exetension
为配置内容的数据格式,可以通过配置项spring.cloud.nacos.config.file-extension
来配置。目前只支持properties
和yaml
类型。
我们把之前application.yml
中配置的数据库的连接信息放入到配置项中,再次启动shop-user
程序,数据库依然可以初始化成功
注:Nacos支持DNS
协议,即可以在server-address
处配置域名,该域名就是一个简单的IP
对应的域名,与Nacos本身没有关系
在配置中心的配置文件中还可以添加自定义的一些配置,然后程序中需要用到的地方,在类上面添加一个@RefreshScope
注解,就是可以实现配置修改后,程序动态更新配置而不需要重启服务
注:配置中心的配置文件与本地配置文件是一样的,只是配置中心可以实现动态更新而已
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/153620.html