分散式配置中心 剝離配置文件,實現動態修改,自動更新。 【假設沒有分散式配置中心,修改配置文件後都需要重啟服務,對於數量龐多的微服務開發來說,就會非常繁瑣】 分散式配置中心有哪些 disconf(依賴zookeeper) zookeeper diamond (阿裡巴巴) Apollo Redis x ...
分散式配置中心
剝離配置文件,實現動態修改,自動更新。
【假設沒有分散式配置中心,修改配置文件後都需要重啟服務,對於數量龐多的微服務開發來說,就會非常繁瑣】
分散式配置中心有哪些
- disconf(依賴zookeeper)
- zookeeper
- diamond (阿裡巴巴)
- Apollo
- Redis
- xxl-job
為什麼選擇Apollo
Apollo除了功能完備之外,在國內的普及度也相當廣泛,也就意味著國內Apollo的生態非常活躍。雖然中國式過馬路的行為並不提倡,但群眾的眼睛有時還是雪亮的。
實戰
環境準備:
- 阿裡雲CentOS7.6
- jdk1.8
安裝jdk1.8
yum search jdk
yum install java-1.8.0-openjdk.x86_64(可選)
java -version
安裝MySQL
- 配置yum源
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
yum localinstall mysql57-community-release-el7-8.noarch.rpm
- 安裝mysql
yum install mysql-community-server
- 啟動mysql
systemctl start mysqld
systemctl restart mysqld
- 查看啟動狀態:
systemctl status mysqld
- 設置開機自啟
systemctl enable mysqld
systemctl daemon-reload
- 查看預設生成密碼
grep 'temporary password' /var/log/mysqld.log
- 登錄修改密碼
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NoPassword564925080!';
mysql5.7預設安裝了密碼安全檢查插件(validate_password),預設密碼檢查策略要求密碼必須包含:大小寫字母、數字和特殊符號,並且長度不能少於8位。否則會提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements錯誤.
- 授權遠程登錄用戶
GRANT ALL PRIVILEGES ON *.* TO 'userhq'@'%' IDENTIFIED BY 'NoPassword564925080!' WITH GRANT OPTION;
flush privileges;
開放3306埠:
使用SQLyog遠程連接:
下載安裝包
https://github.com/ctripcorp/apollo/wiki/Quick-Start
推薦用百度網盤加速器下載:http://pandownload.com/
按照文檔創建資料庫
文檔:https://github.com/ctripcorp/apollo/wiki/Quick-Start
- ApolloPortalDB
- ApolloConfigDB
- 導入SQL語句
配置資料庫連接信息,修改demo.sh
伺服器IP或者虛擬機IP,另外就是用戶名和密碼
將修改好的文件夾上傳到伺服器
運行demo.sh腳本
./demo.sh start
如果無法運行可能是因為沒有添加可執行許可權:
chmod +x demo.sh
如果啟動失敗,可以嘗試將資料庫連接的用戶名密碼改為授權遠程登錄的用戶密碼。比如上文的userhq。
開啟伺服器8070埠:
訪問:http://47.103.6.247:8070
預設用戶名為apollo
密碼為admin
SUCCESS