欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

10.Spring Cloud Alibaba Nacos配置中心

程序员文章站 2021-11-23 10:49:31
Nacos 配置中心在前面的博客中介绍了Nacos作为服务注册中心的使用。也介绍了Spring Cloud Config作为配置中心的使用。快捷链接:8.Spring Cloud Alibaba Nacos(一) 服务注册中心6.Spring Cloud Config 配置中心在介绍Spring Cloud Alibaba Nacos作为注册中心中,是将Nacos部署的为单机模式。这里做一下扩展。单机模式并使用MySQL作为数据源(这里以Linux服务器演示)进入解压的nacos文件夹...

Nacos 配置中心

在前面的博客中介绍了Nacos作为服务注册中心的使用。也介绍了Spring Cloud Config作为配置中心的使用。

快捷链接:

8.Spring Cloud Alibaba Nacos(一) 服务注册中心

6.Spring Cloud Config 配置中心

在介绍Spring Cloud Alibaba Nacos作为注册中心中,是将Nacos部署的为单机模式。这里做一下扩展。

  • 单机模式并使用MySQL作为数据源(这里以Linux服务器演示)

    1. 进入解压的nacos文件夹conf目录中

      10.Spring Cloud Alibaba Nacos配置中心

    2. 在MySQL数据库(5.6.5+)中执行SQL文件

      10.Spring Cloud Alibaba Nacos配置中心

    3. 编辑application.properties配置文件。

      使用vi命令编辑,在末尾添加配置

      spring.datasource.platform=mysql
      
      db.num=1
      db.url.0=jdbc:mysql://111.222.333.44:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
      db.user=root
      db.password=root1234
      

      数据库名称、用户名、密码、IP 自行更换

    4. 关闭nacos服务器

      进入当前目录的上级目录bin

      sh shutdown.sh
      
    5. 重新启动

      这里单机模式还是在末尾添加模式

      sh startup.sh -m standalone
      
    6. 简单验证

      我们查询users表中的用户

      10.Spring Cloud Alibaba Nacos配置中心

      访问Nacos页面(默认用户密码均为nacos)更改密码,继续查询

      10.Spring Cloud Alibaba Nacos配置中心

  • 集群模式

    集群模式的数据源可以使用内置数据源,也可以使用MySQL或其他数据源。

    配置数据源照上面的操作即可。

    此外,在conf目录中,需要额外配置cluster.conf文件。官网中给的建议是请配置3个或3个以上节点

    10.Spring Cloud Alibaba Nacos配置中心

    1. 直接复制一份

      cp cluster.conf.example cluster.conf
      
    2. vi编辑,在末尾添加ip:port这样的形式。比如:

      192.168.0.1:8848
      192.168.0.2:8848
      192.168.0.3:8848
      
    3. 集群模式启动

      如果使用内置数据源

      sh startup.sh -p embedded
      

      如果使用外置数据源

      sh startup.sh
      

使用Nacos做配置中心

与使用Spring Cloud Config作为配置中心大同小异。使用起来也比较简单。

  1. 在创建项目时勾选,或添加依赖。

    10.Spring Cloud Alibaba Nacos配置中心

    maven依赖

    <dependency>
    	<groupId>com.alibaba.cloud</groupId>
    	<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
    
  2. 在Nacos中添加配置文件。命名规则为:服务名-环境.yml

    以book-service为例。

    先在Nacos中新建命名空间(可以不创建)。

    10.Spring Cloud Alibaba Nacos配置中心

    在 dev空间中创建配置文件book-service-dev.yml并增加配置

    10.Spring Cloud Alibaba Nacos配置中心

    10.Spring Cloud Alibaba Nacos配置中心

  3. 移除项目中的application.yml文件,新建bootstrap.yml文件,添加注册中心的配置。

    10.Spring Cloud Alibaba Nacos配置中心

     spring:
       application:
         name: book-service
     
       profiles:
         active: dev
     
       cloud:
         nacos:
           #配置中心
           config:
             server-addr: localhost:8848
             username: nacos
             password: nacos
             #文件扩展名
             file-extension: yml
             # group
             group: DEFAULT_GROUP
             #命名空间ID 根据自己创建生成的复制过来
             namespace: 6abc6ab8-9717-4a40-80c8-585ccbfeb2db
             #微服务全局共享配置信息
             shared-configs:
               - data-id: common.yml
                 group: DEFAULT_GROUP
                 refresh: true
    

    配置信息中的全局共享信息配置文件common.yml就存放一些微服务都要使用的相同的配置即可。

  4. 启动运行

    从日志中我们可以看到,项目启动会去读取配置文件,这里复制一段日志打印:
    10.Spring Cloud Alibaba Nacos配置中心

    b.c.PropertySourceBootstrapConfiguration : Located property source: [
    BootstrapPropertySource {name='bootstrapProperties-book-service-dev.yml,DEFAULT_GROUP'},
    BootstrapPropertySource {name='bootstrapProperties-book-service.yml,DEFAULT_GROUP'},
    BootstrapPropertySource {name='bootstrapProperties-book-service,DEFAULT_GROUP'}, 
    BootstrapPropertySource {name='bootstrapProperties-common.yml,DEFAULT_GROUP'}]
    

    这里在启动的时候会陆续读取这些配置文件

  5. 在工作中合理使用命名空间,group,项目运行环境等配置不同环境的配置文件即可,总的来说上手容易。

补充

我们在Nacos管理端中,查看服务列表。
10.Spring Cloud Alibaba Nacos配置中心

这里我们可以对服务实例做一些配置:
10.Spring Cloud Alibaba Nacos配置中心

多个实例的时候设置权重值(权重调大,实例的流量越大。如果不想实例接收流量,则可以将权重设为0)。
此外还可以服务元数据管理,优雅的上下线。

本文地址:https://blog.csdn.net/u012708900/article/details/110532323

相关标签: Spring Cloud