Nacos 支持基于 DNS 和基于 RPC 的服务发现(可以作为springcloud的注册中心)、动态配置服务(可以做配置中心)、动态 DNS 服务。
一、下载源码
https://github.com/alibaba/nacos 我选择的是1.2.0版本
二、源码扩展
1.升级mysql的版本
修改项目最外层的pom文件,我这边使用的是8.0.17
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.17</version>
</dependency>
2.修改naming这个项目 com.alibaba.nacos.naming.healthcheck 包下的 MysqlHealthCheckProcessor 类的第24行导包为
import com.mysql.cj.jdbc.MysqlDataSource;
3.由于mysql8及其以上版本需要带时区,所以还需要修改 console这项目 resources/META-INF下 nacos-default.properties这个文件中的db.url
db.url.0=jdbc:mysql://ip:port/dbname?serverTimezone=GMT%2B8&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.url.1=jdbc:mysql://ip:port/dbname?serverTimezone=GMT%2B8&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
三、打包
项目根目录运行mvn命令
mvn -Prelease-nacos clean install -U
执行完成之后打包好的文件在项目根目录下:
根目录\distribution\target
创建数据库nacos并运行nacos/conf/nacos-mysql.sql 文件,创建表格
配置自己的mysql地址 在nacos/conf/application.properties中添加
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?serverTimezone=GMT%2B8&characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
#启用认证
nacos.core.auth.enabled=true