nacos地址:https://nacos.io/zh-cn/
spring-cloud-alibaba:https://github.com/spring-cloud-incubator/spring-cloud-alibaba
spring-cloud-alibaba作为spring-cloud的新成员有一段时间了,作为完全国产大厂的作品,虽然目前还是处于大量集成和修bug阶段,不过还是挺令人兴奋,目前开放的组件有
本文只针对Nacos作为配置中心的简单介绍
下载最新0.7
解压到指定目录
进入bin目录
vi startup.sh ,单机模式处,添加启动端口参数,不修改的话默认启动端口为8848,也可以添加一些相关的启动参数
在 执行sh startup.sh -m standalone 启动nacos
启动后的访问地址为:http://127.0.0.1:28998/nacos/index.html
springboot项目添加相关依赖:
spring-boot-1.x使用
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-discovery-spring-boot-starter</artifactId>
<version>0.1.1</version>
</dependency>
spring-boot-2.x使用
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>nacos-discovery-spring-boot-starter</artifactId>
<version>0.2.1</version>
</dependency>
application.yml文件添加
nacos:
config:
server-addr: 127.0.0.1:28998
启动类上添加
@NacosPropertySource(dataId = "nacos.test.cfg", autoRefreshed = true)
测试类添加
@NacosValue(value = "${test:1234}", autoRefreshed = true)
private String test;
@PostMapping("/test/cfg")
public String testCfg() {
return test;
}
调用此接口返回默认值1234
在控制台新建配置并发布
重新调用接口,返回abcd,值已经正常刷新
(快照存储位置nacos目录同级位置/config/fixed-127.0.0.1:28998_nacos/snapshot/DEFAULT_GROUP/下会有一个nacos.test.cfg文件)
在0.7版本之前,在单机模式时nacos使用嵌入式数据库实现数据的存储,不方便观察数据存储的基本情况。0.7版本增加了支持mysql数据源能力
具体操作如下
conf/下nacos-mysql.sql 执行初始化SQL
完成后修改conf/application.properties 文件db连接配置
spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://ip:port/dbName?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=user
db.password=pwd
重新启动nacos后在控制台修改配置,配置数据会进入相关表,可以在nacos宕机情况下进行额外处理
总体来看,作为配置中心使用,nacos完全可以替代spring-cloud-config,开箱即用,你值得拥有!
单机版nacos--done
对于eureka,nacos也不毫不逊色