配置中心搭建過程記錄

2021-08-24 17:27:58 字數 1874 閱讀 7857

一、需要解決的問題是:

1)每個ipc能有自己的乙個配置,這樣在並行跑整合的時候每個ipc能去取到自己的配置,不同系列的產品就可以取自己的公升級包

2)對配置的統一管理,修改配置的時候不需要到每個job中去單獨修改,可以統一直接修改某個引數

一開始選擇了攜程的apollo,雖然這個是分布式針對應用和集群的配置中心,但先拿來研究研究

在一台伺服器上啟動服務,遇到了第乙個問題,就是client端如果遠端獲取配置的問題,如果配置不能下發到client端那就只能走

分布式部署的方式,但對於我們小的需求來說太費時和浪費物料,而且quick-start的方式是提供本地除錯用的,利用官方提供的

client端遠端連線不上,遂考慮別的方法,看了一下這個是本地儲存到mysql資料庫的,所以又考慮通過python腳步直接遠端直接調

用資料庫資料,遠端呼叫資料庫又需要ip的白名單,於是去學習一下mysql的相關命令grant,mysql命令在一條命令輸入完之後要用;結尾

先以root使用者登入mysql,然後

grant all privileges on *.* to 建立的使用者名稱 @"%" identified by "密碼";

flush privileges;

格式:grant 許可權 on 資料庫教程名.表名 to 使用者@登入主機 identified by 「使用者密碼」; 

@ 後面是訪問mysql的客戶端ip位址(或是 主機名) % 代表任意的客戶端

如果填寫localhost或者127.0.0.1 就只能在本地訪問了, 

其實我們說localhost和127.0.0.1 都能連線本地的資料庫,是因為mysql中mysql資料庫, 

中的user表,其中的user 中有localhost和127.0.0.1

其實,可以為乙個使用者新增遠端訪問的許可權:

use mysql;

update user set host = '%' where user = '使用者名稱'; (如果寫成 host=localhost 那此使用者就不具有遠端訪問許可權)

flush privileges;

grant all privileges on om.* to "janfly"@"%" identified by '123456' with grant option;
後來從資料庫獲取到的是比較混亂的文字檔案顯示的配置,不利於後續的配置獲取

於是又重新考慮通過提供的http介面獲取配置,重新仔細檢視apollo的wiki裡面的http介面說明,

method: get

為了驗證本地的quick-start模式下是否還有http介面提供,於是想到用postman先去試一下,

按照要求組裝url和form-data之後,成功建立連線,再通過url組裝,成功通過http介面獲取到了配置資料,但好像不是wiki上說的

json格式,先不管,嘗試在python中區實現這個http介面獲取的流程

遇到第乙個問題就是怎麼建立連線,這個form-data是什麼,怎麼在python中組裝

後來發現原來是獲取的埠號不對,不是跟登入埠是同乙個,應該是8080埠去獲取,按照文件根據要求拼接了url之後就可以

獲取到配置,然後就是把這個json格式的配置寫入檔案儲存,再傳給測試啟動指令碼就行了,這裡主要使用python裡的request庫,

拼接url之後用requests.get(url)獲取配置,這裡是get方法,根據介面要求來,也有post的方法,檔案儲存成json的話用json.dump

方法但下面還有問題就是配置的管理,以及引數的填寫,引數是會發生改變的,要怎麼去獲取的這個引數的改變是個問題

不過後面跟python處理就不太相關了,還是怎麼去使用的問題

Django 搭建過程記錄

django cd my django file sudo python setup.py install mysql apt get install python mysqldb mysql server mysql client libmysqld dev 在資料庫中建立乙個database c...

SpringCloud之搭建配置中心

一 搭建config server 1 引入pom dependencies dependency groupid org.springframework.cloud groupid artifactid spring cloud starter eureka artifactid dependen...

Apollo配置中心搭建手冊

apollo部署架構圖 軟體依賴 mysql5.6以上資料庫,jdk1.8 2.執行命令 解壓安裝包 uizip apollo.zip 3.匯入資料庫 mysql u使用者 p密碼 mysql u使用者 p密碼 4.修改apollo埠 4.1 configservice埠設定 vim startup...