1、springcloud集成zookeeper:
做法:
出現問題:
版本不一致導致出現keepError:
解決:服務器的zookeeper要與客戶端的zookeeper一致,才可以。
2、使用config配置服務的配置中心:
一個服務一個倉庫,一個倉庫里面設置多個環境
這里 拿github來舉例:
倉庫的命名以每個服務來命名:比如:服務a:倉庫名為:服務a
然后每個環境的配置以:服務名-環境名.yml,這樣就可以訪問的時候映射到各個服務的配置。:比如:服務a-dev.yml ,
2.1將服務注冊到zookeeper上面,這個跟上面一樣,主要是保證zookeeper的版本一致。
優勢:可以使用服務名來訪問,不過這里要注冊到同一個環境才可以。
2.2如何實現不同服務的不同訪問:
在配置的server端:
采用通配符的方式,這里的application即每個服務的命名,這樣就會自動映射到每個服務的倉庫。
注意:服務的客戶端采用bootstrap的配置來加載遠程的配置,因為加載順序是有bootstrap再到application
3、刷新的問題:
(1)半自動刷新,通過發送post的refresh來刷新
(2)自動刷新,配置git的webhook來進行刷新