微服务 分布式配置中心 nacos

spring cloud 配置中心 nacos实战

Nacos官网
主流微服务配置中心对比
Nacos 配置中心原理分析
Nacos 配置实时更新原理分析
Nacos Sync 的设计原理和规划
Nacos 权限控制介绍及实战

Spring Cloud Alibaba基础教程:使用Nacos作为配置中心
Spring Cloud + Nacos 三部曲之Config 配置
Spring Cloud Alibaba Nacos配置的多文件加载与共享配置

Spring-Boot application.yml 文件拆分,实现 maven 多环境动态启用 Profiles

nacos server 部署

docker nacos 单机部署

Nacos 集群部署
nacos docker 快速部署

docker 部署

docker pull nacos/nacos-server

单机部署

内存模式:

docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server

mysql模式:

docker run
–name nacos -d
-p 8848:8848
–restart=always
–net=host
-e MODE=standalone
-v /data0/nacos/logs:/home/nacos/logs
-v /usr/home/nacos/init.d/custom.properties:/home/nacos/init.d/custom.properties
nacos/nacos-server

集群部署

mysql模式
docker rm -f ${name}

docker run -d -p 8848:8848 \
  --name nacos \
  --privileged \
  --restart=always \
  --net=host \
  -e PREFER_HOST_MODE=ip \
  -e MODE=cluster \
  -e NACOS_SERVER_IP=192.168.11.126 \
  -e NACOS_SERVERS="192.168.11.126:8848 192.168.11.196:8848 192.168.11.200:8848" \
  -e SPRING_DATASOURCE_PLATFORM=mysql \
  -e MYSQL_DATABASE_NUM=1 \
  -e MYSQL_MASTER_SERVICE_HOST=192.168.11.126 \
  -e MYSQL_MASTER_SERVICE_PORT=3306 \
  -e MYSQL_MASTER_SERVICE_USER=root \
  -e MYSQL_MASTER_SERVICE_PASSWORD=xxx \
  -e MYSQL_MASTER_SERVICE_DB_NAME=nacos_config \
  -v /data0/${name}/logs:/home/nacos/logs \
  registry.api.xx.com/fms/nacos:1.1.4

如果配置有误,删除nacos 容器,重新配置 :
docker stop nacos && docker rm nacos

jenkins pipeline script 配置

env.node1='10.4.14.21'
env.node2='10.4.4.22'
env.node3='1.1.11.126'
env.name='nacos'

node(env.node1){
      stage('Copy & restart'){
          sh '''
          set +e
          sleep 5
          
          docker rm -f ${name}
          
          docker run -d \
            --name nacos \
            --privileged \
            --restart=always \
            --net=host \
            -e PREFER_HOST_MODE=ip \
            -e MODE=cluster \
            -e NACOS_SERVER_IP=17.16.11.16 \
            -e NACOS_SERVERS="10.4.14.2:8848 10.4.4.22:8848 1.1.11.126:8848" \
            -e SPRING_DATASOURCE_PLATFORM=mysql \
            -e MYSQL_DATABASE_NUM=1 \
            -e MYSQL_MASTER_SERVICE_HOST=1.1.11.126 \
            -e MYSQL_MASTER_SERVICE_PORT=3306 \
            -e MYSQL_MASTER_SERVICE_USER=root \
            -e MYSQL_MASTER_SERVICE_PASSWORD=xxxxxx \
            -e MYSQL_MASTER_SERVICE_DB_NAME=nacos_config \
            -v /data0/${name}/logs:/home/nacos/logs \
            registry.api.xx.com/fms/nacos:1.1.4
          '''
      }
}
node(env.node2){
      stage('Copy & restart'){
          sh '''
          set +e
          sleep 5
          
          docker rm -f ${name}
          
          docker run -d \
            --name nacos \
            --privileged \
            --restart=always \
            --net=host \
            -e PREFER_HOST_MODE=ip \
            -e MODE=cluster \
            -e NACOS_SERVER_IP=17.16.11.16 \
            -e NACOS_SERVERS="10.4.14.2:8848 10.4.4.22:8848 1.1.11.126:8848" \
            -e SPRING_DATASOURCE_PLATFORM=mysql \
            -e MYSQL_DATABASE_NUM=1 \
            -e MYSQL_MASTER_SERVICE_HOST=1.1.11.126 \
            -e MYSQL_MASTER_SERVICE_PORT=3306 \
            -e MYSQL_MASTER_SERVICE_USER=root \
            -e MYSQL_MASTER_SERVICE_PASSWORD=xxxxxx \
            -e MYSQL_MASTER_SERVICE_DB_NAME=nacos_config \
            -v /data0/${name}/logs:/home/nacos/logs \
            registry.api.xx.com/fms/nacos:1.1.4
          '''
      }
}
node(env.node3){
      stage('Copy & restart'){
          sh '''
          set +e
          sleep 5
          
          docker rm -f ${name}
          
          docker run -d \
            --name nacos \
            --privileged \
            --restart=always \
            --net=host \
            -e PREFER_HOST_MODE=ip \
            -e MODE=cluster \
            -e NACOS_SERVER_IP=17.16.11.16 \
            -e NACOS_SERVERS="10.4.14.2:8848 10.4.4.22:8848 1.1.11.126:8848" \
            -e SPRING_DATASOURCE_PLATFORM=mysql \
            -e MYSQL_DATABASE_NUM=1 \
            -e MYSQL_MASTER_SERVICE_HOST=1.1.11.126 \
            -e MYSQL_MASTER_SERVICE_PORT=3306 \
            -e MYSQL_MASTER_SERVICE_USER=root \
            -e MYSQL_MASTER_SERVICE_PASSWORD=xxxxxx \
            -e MYSQL_MASTER_SERVICE_DB_NAME=nacos_config \
            -v /data0/${name}/logs:/home/nacos/logs \
            registry.api.xx.com/fms/nacos:1.1.4
          '''
      }
}

你可能感兴趣的:(分布式配置中心)