Nacos既可以作为服务注册中心,也可以作为配置中心,功能相当于Eureka、Zookeeper、Bus;并且Nacos自带负载均衡,引入Nacos依赖里面整合了ribbon,有了ribbon就可以使用RestTemplate进行服务调用。下面是将Nacos作为配置中心的配置方法。
一、下载Nacos
二、运行Nacos
1、找到Nacos下载的文件夹,双击bin目录下面的starup.cmd;
2、打开 Nacos网址:http://localhost:8848/nacos/#/login,端口号为珠穆朗玛峰的高度8848,输入账号密码:nacos
三、配置本地代码
1、引pom
<!--nacos-config-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!--nacos-discovery-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2、引yml
(1) 引入bootstrap.yml
spring:
profiles:
active: dev # 表示开发环境
#active: test # 表示测试环境
(2) 引入application.yml
server:
port: 3377
#服务的名字
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848 #Nacos服务注册中心地址
config:
server-addr: localhost:8848 #Nacos作为配置中心地址
file-extension: yaml #指定yaml格式的配置,读一个yml配置文件,意思是3377去8848上读一个yaml的文件
group: DEFAULT_GROUP
namespace: 605fc45d-2288-40d6-b7f4-691fb1483677 #dev命名空间的流水号
bootstrap.yml: 用来程序引导时执行,应用于更加早期配置信息读取,可以使用application.yml中使用到的参数等。
application.yml: 应用程序特有的配置文件,可以用来配置后续各个模块中需使用的公共参数等。
所以bootstrap.yml的执行顺序优先于application.yml
四、配置Nacos
1、打开Nacos中的配置列表
2、新建配置
3、填写配置内容
(1)Date ID 的命名要求:
名称+环境+文件后缀
Date ID作用:只有代码中的配置文件组合好之后和Nacos上的Date ID 进行比较,一样才可以访问Date ID 中的内容
(2)Group命名
(3)描述自定义;配置格式选择YAML
将上述内容填入到Nacos的配置中:
(4) 新建命名空间(可选)
①打开nacos,新建命名空间
②选择刚刚新建的命名空间,新建配置:
③在后端配置文件中写上namespace的ID
五、连接数据库
Nacos自带derby数据库,将Nacos中的derby切换到mysql的方法:
1、打开Nacos/conf/nacos-mysql.sql,将脚本复制到mysql数据库中。
2、修改Nacos/conf/application.properties配置文件
在最下方输入:
nacos.istio.mcp.server.enabled=false
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/ssm?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=12345