zoukankan      html  css  js  c++  java
  • spring cloud 微服务之 -- 配置文件拆分之道

    0-前言

      在spring cloud微服务架构中,基本上每个拆分的微服务都会部署多个运行实例,这些运行实例,配置基本都是一样的,不同的是少数配置,比如端口,而这些不同的配置又是必不可少的

      那我们怎么来部署同一个微服务的多个不同实例呢,

      总不能改改配置文件 --编译--发布一个一个来吧,几十几百个实例那得累死头牛

      也不能一个实例一个配置文件吧,那配置文件也堆成山,改一个改到累死头牛

      还有些人把配置文件从jar包剥离,有改动时那也一个个改,还是累死头牛;

    1-如何拆分

      我们基本上都用spring cloud config server 来管理配置文件,那怎么来拆分呢,正确的做法应该是:

      1、抽离共同的配置项放到spring cloud config server管理的配置文件application.yml中,

      2、少数每个实例不同的配置项放在项目的bootstrap.yml中,比如:端口号、机器编号等

      3、bootstrap.yml中不同的配置项作为启动参数传入:

    java -jar -Xms256m -Xmx512m -Dserver.port=8099  -Dserver.workId=1 -Dserver.datacenterId=1 anson.jar 

    上面的实例启动时,设置了不同的端口、datacenterId、workId,这三个是不同实例不同设置的,

    这样,我们的同一个微服务就只有一套配置文件,部署多少是实例都不需要变动,只需要在启动实例时传入设置即可;

      

  • 相关阅读:
    6. (在第五步的基础上展开)实现模板推送发送
    5. (全局唯一接口调用凭据)获取Access token
    3. openid的获取
    2. 验证服务器地址的有效性
    Java后端开发规范
    4. (自定义菜单和删除全部菜单)Springboot读取静态json文件
    Docker私有仓库搭建与部署
    Docker容器基础学习一
    运维日志切割--logrotate
    zookeeper学习
  • 原文地址:https://www.cnblogs.com/yanghj/p/12157549.html
Copyright © 2011-2022 走看看