最近一段时间在研究Spring Cloud Alibaba。源码地址:https://github.com/alibaba/spring-cloud-alibaba
简单来说,Nacos有两大用处,
一:配置中心 (本文主要讨论集成配置中心)
二:注册中心
项目中已集成原生配置中心
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
如何集成配置中心:
步骤1:
下载Nacos服务端,并安装。
下载地址:https://nacos.io/zh-cn/docs/quick-start.html
注:启动方式分为集群启动和单机启动(默认集群启动),另外在启动时,最好配置内存否则会导致无法启动的情况
a、启动目录
nacos/bin
b、单机启动
startup.sh -m standalone(centos启动)
c、修改运行内存(进入startup.sh)修改,以下为修改内存的代码片段
if [[ "${MODE}" == "standalone" ]]; then
JAVA_OPT="${JAVA_OPT} -Xms512m -Xmx512m -Xmn256m"
JAVA_OPT="${JAVA_OPT} -Dnacos.standalone=true"
else
JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${BASE_DIR}/logs/java_heapdump.hprof"
JAVA_OPT="${JAVA_OPT} -XX:-UseLargePages"
fi
步骤2:集成Nacos
a、如已集成Spring Cloud Config请移除pom引入(也可不移除),原生config和Nacos的config是可以共用,但同时使用,优先使用原始config的内容,只要在原始Config中无对应变量才会使用Nacos配置中心内容
b、引入Nacos的pom依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
c、在bootstrap.yml中加入配置
spring:
application:
cloud:
nacos:
config:
## 配置环境地址(Nacos服务的地址)
server-addr: 127.0.0.1:8848
## 引用后缀(在nacos后缀的命名 applicationname + - +spring-profiles-active.yaml)
## 如缺失,默认为applicationname.yaml
file-extension: yaml
## 是否开启nacos 配置中心(默认开启)
enabled: true
d、登录Nacos服务端,如:127.0.0.1:8848,添加对应配置,注:dataId需加入对应后缀,与bootstrap.yaml一致,具体参照下图

注:
1、spring cloud 集成Nacos默认是修改配置后会自动刷新
2、关闭Nacos的方法如下:
spring:
nacos:
config:
refresh:
// 关闭自动刷新
enabled: false
3、自动刷新会导致Jasypt加密失效(修改配置自动刷新,导致jasypt加密的内容无法正常使用),该问题暂未解决
本文聚焦于Spring Cloud Alibaba中的Nacos集成,作为配置中心的使用。首先,介绍了Nacos的两大功能:配置中心和注册中心。接着,详细阐述了如何将Nacos集成到项目中作为配置中心,包括下载安装Nacos服务端、配置启动方式以及在Spring Cloud项目中的集成步骤。特别指出,集成后配置文件的改动会自动刷新,但这也可能导致Jasypt加密问题,目前此问题尚未得到解决。

3876

被折叠的 条评论
为什么被折叠?



