Spring Cloud Alibaba微服务系列-配置中心Nacos

一、前言

微服务是将应用拆分多个服务,服务多了,配置文件管理起来就很麻烦,此时就需要配置管理中心来统一管理各个服务应用的配置文件。

二、添加依赖

pom.xml中添加spring-cloud-starter-alibaba-nacos-config依赖


    com.alibaba.cloud
    spring-cloud-starter-alibaba-nacos-config

因为用到了bootstrap.properties 需要添加spring-cloud-starter-bootstrap依赖,否则bootstrap配置不生效


    org.springframework.cloud
    spring-cloud-starter-bootstrap

完整的pom.xml如下



    
        com.llh
        parent
        1.0.0
        
    

    4.0.0
    consumer
    1.0.0
    consumer
    consumer description
    jar

    
        
            org.springframework.boot
            spring-boot-starter-web
        

        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-discovery
        

        
            com.alibaba.cloud
            spring-cloud-starter-alibaba-nacos-config
        

        
            org.springframework.cloud
            spring-cloud-starter-bootstrap
        
    


三、bootstrap.properties

删除application.properties,创建bootstrap.properties,内容如下:

# 应用名称
spring.application.name=consumer
# nacos配置中心
spring.cloud.nacos.config.server-addr=http://localhost:8848
spring.cloud.nacos.config.file-extension=properties
spring.cloud.nacos.config.group=DEFAULT_GROUP
spring.cloud.nacos.config.namespace=83e9d384-d49e-4f40-84bf-c25612883dcc
spring.cloud.nacos.config.username=nacos
spring.cloud.nacos.config.password=nacos
# nacos配置中心 公共配置文件
spring.cloud.nacos.config.shared-configs[0].data-id=common.properties
spring.cloud.nacos.config.shared-configs[0].refresh=true
spring.cloud.nacos.config.shared-configs[0].group=DEFAULT_GROUP
  • 注意:spring.cloud.nacos.config.namespace 与 nacos中的 namespace一致。
  • 这里配置了common.properties为公共配置文件,如所有服务的注册中心都是一样,没必要每个服务都配置一遍。

四、Nacos创建配置文件

创建两个配置文件consumer.propertiescommon.properties

QQ截图20210519194027.png

consumer.propertiesconsumer的配置文件,就是简单的配置了启动端口。注意consumer.properties的前缀和bootstrap.propertiesspring.application.name一致。

consumer.properties 内容如下

# 端口
server.port=8888

common.properties 是公共配置文件,里面写了跟注册中心相关的配置信息。
内容如下

# 注册中心相关
spring.cloud.nacos.discovery.server-addr=http://localhost:8848
spring.cloud.nacos.discovery.namespace=83e9d384-d49e-4f40-84bf-c25612883dcc
spring.cloud.nacos.discovery.username=nacos
spring.cloud.nacos.discovery.password=nacos

启动项目后可以看到端口是8888,并且服务注册到nacos注册中心上,但是项目中bootstrap.properties并没有配置端口和服务注册相关信息,由此可见端口配置信息和注册配置信息是从配置中心中动态读取的

五、结语

源码地址:https://github.com/tigerleeli/xiaohuge-blog/tree/master/spring-cloud-alibaba-config

nacos生产环境使用需要配置持久化,它默认是存文件的,这样很不安全,一般是用Mysql持久化。并且生产环境可能需要做Nacos集群,这些可以看一下官网。

同步微信公众号:小虎哥的技术博客

你可能感兴趣的:(Spring Cloud Alibaba微服务系列-配置中心Nacos)