spring cloud 微服務之 -- 配置文件拆分之道

0-前言

  在spring cloud微服務架構中,基本上每一個拆分的微服務都會部署多個運行實例,這些運行實例,配置基本都是同樣的,不一樣的是少數配置,好比端口,而這些不一樣的配置又是必不可少的java

  那咱們怎麼來部署同一個微服務的多個不一樣實例呢,spring

  總不能改改配置文件 --編譯--發佈一個一個來吧,幾十幾百個實例那得累死頭牛bootstrap

  也不能一個實例一個配置文件吧,那配置文件也堆成山,改一個改到累死頭牛架構

  還有些人把配置文件從jar包剝離,有改動時那也一個個改,仍是累死頭牛;app

1-如何拆分

  咱們基本上都用spring cloud config server 來管理配置文件,那怎麼來拆分呢,正確的作法應該是:微服務

  一、抽離共同的配置項放到spring cloud config server管理的配置文件application.yml中,spa

  二、少數每一個實例不一樣的配置項放在項目的bootstrap.yml中,好比:端口號、機器編號等code

  三、bootstrap.yml中不一樣的配置項做爲啓動參數傳入:server

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

上面的實例啓動時,設置了不一樣的端口、datacenterId、workId,這三個是不一樣實例不一樣設置的,blog

 

這樣,咱們的同一個微服務就只有一套配置文件,部署多少是實例都不須要變更,只須要在啓動實例時傳入設置便可;

相關文章
相關標籤/搜索