目录
Nacos是一个平台产品,主要提供注册中心和配置中心。
一、Nacos的安装和部署
Nacos的安装和部署可以分为以下几个步骤:
1. 下载Nacos
官网下载地址:
https://github.com/alibaba/nacos
2. 解压安装包到本地
3. 配置数据库(可选)
3.1 application.properties添加mysql配置,实现数据持久化
3.2 mysql执行mysql-schema.sql脚本
4. 启动Nacos服务
单机部署直接切换到bin目录,cmd执行下面命令
sh startup.sh -m standalone
5. 登陆控制台
默认用户名/密码为nacos/nacos。
http://localhost:8848/nacos/#/login
以上是Nacos的基本安装和部署步骤,具体的配置细节可以根据实际需求进行修改。
二、springboot整合Nacos
1. 添加依赖
SpringCloud Alibaba Nacos Discovery: 这个依赖主要用于服务发现,允许你的 Spring Boot 应用连接到 Alibaba 的 Nacos 服务平台,进行服务的注册、发现和更新元数据等操作。
SpringCloud Alibaba Nacos Config: 这个依赖用于从 Alibaba 的 Nacos 服务平台中读取配置信息。你可以在 Nacos 中管理你的应用的配置,而不需要每次更改配置时重新构建和部署你的应用。
以下是子POM中的依赖声明,父POM使用标签。
<!-- SpringCloud Alibaba Nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!-- SpringCloud Alibaba Nacos Config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2. 配置注册中心、配置中心
配置文件在这里使用的是bootstrap.yml,其优先级大于application.yml。
配置discovery注册中心地址,配置config配置中心地址。
# Tomcat
server:
port: 9200
# Spring
spring:
application:
# 应用名称
name: bibo
profiles:
# 环境配置
active: dev
cloud:
nacos:
discovery:
# 服务注册地址
server-addr: localhost:8848
username: diggl
password: diggl
config:
# 配置中心地址
server-addr: localhost:8848
file-extension: yaml
group: DEFAULT_GROUP
username: diggl
password: diggl
3. 演示
启动项目后,在Nacos控制台就能看到bibo-server服务了,说明bibo-server服务已经注册到Nacos注册中心。
新建配置并发布
Data ID 命名格式:服务名-环境.文件类型
Group 要和配置一致
一般情况下,在Nacos中修改配置不需要重启项目,Nacos是一个动态配置中心,支持实时修改配置。但是,有一些配置参数需要重启应用程序才能生效,例如,修改应用程序端口号、修改JVM参数(如内存大小等)、修改日志级别、修改数据库连接参数等可能需要重启应用程序才能使更改生效。这是因为这些配置在项目启动时就已经注入到容器中,需要重启来使新的配置生效。
重启后,项目端口随即由原来的9200改为9208。
使用@RefreshScope能实现动态刷新
例如获取application-dev.yml中的配置
/**
* XSS跨站脚本配置
*/
@Configuration
@RefreshScope
@ConfigurationProperties(prefix = "security.xss")
public class XssProperties {
/**
* Xss开关
*/
private Boolean enabled;
...
}