提交 edb9c408 authored 作者: 林惠颖's avatar 林惠颖

add document

上级 46c9ddc6
### SpringBoot使用Nacos服务发现
1. pom引用
pom文件中若存在eureka相关依赖,需要先注释掉,添加jar包如下:
~~~java
<spring-cloud-timeloit.version>0.0.1-SNAPSHOT</spring-cloud-timeloit.version>
<dependency>
<groupId>com.timeloit.cloud</groupId>
<artifactId>spring-cloud-starter-timeloit-nacos-discovery</artifactId>
<version>${spring-cloud-timeloit.version}</version>
</dependency>
~~~
注:如果读取不到版本号,在本地的maven配置文件setting.xml中去掉阿里云镜像等其他配置。
2. 配置nacos服务地址
在配置文件中配置nacos服务的地址
~~~java
nacos:
discovery:
# Nacos 注册中心地址
server-addr: 39.100.254.140:8103
~~~
3. 多环境下使用nacos
​ 程序一般会有开发环境、测试环境、生产环境,或者测试和生成之间有堡垒环境,一套java代码是通过指定 spring.profiles.active以及对应的application-xxx.yml来控制不同环境及其配置的。
那么怎么让不同的环境,读取到不同的nacos配置值呢?
​ nacos上可以创建多个namespace,除了默认的public的namespace,你可以创建dev、test等namespace。新建的namespace会在名称旁边出现一串字符,如3ac84119-5558-4bf8-b309-034dd0e458e0,这就是这个namespac的唯一ID,记下这些唯一ID,接下来有用。
​ 在每个namespace中创建相同名称的一套dataId,里面的属性名也相同,只有属性值不同,都放在默认的“DEFAULT_GROUP”的group下
​ 客户端指定不同的namespace,在不同的application-xxx.yml文件中指定不同的namespace
~~~
nacos:
discovery:
# Nacos 注册中心地址
server-addr: 39.100.254.140:8103
namespace: 3ac84119-5558-4bf8-b309-034dd0e458e0
~~~
注:
​ namespace不是填写dev、test这些名称,而是要填写唯一ID串,每个新建的namespace都有一个唯一ID,如上所示。
​ 这样,你可以发现,不同的环境启动的程序,获取到的是不同的namespace下的属性值,其余地方的代码不需要做任何修改。
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论