本技術(shù)涉及數(shù)據(jù)庫(kù)配置管理,尤其涉及一種分布式數(shù)據(jù)庫(kù)配置管理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)。
背景技術(shù):
1、云原生技術(shù)是一種以云計(jì)算為基礎(chǔ),優(yōu)化應(yīng)用開發(fā)和部署的現(xiàn)代技術(shù)方法。它充分利用了云計(jì)算的彈性、靈活性和自動(dòng)化特性,使得應(yīng)用程序能夠更好地適應(yīng)不斷變化的業(yè)務(wù)需求和用戶規(guī)模。在云原生架構(gòu)中,分布式數(shù)據(jù)庫(kù)扮演著至關(guān)重要的角色,它通過將數(shù)據(jù)庫(kù)系統(tǒng)及其依賴打包成輕量級(jí)的容器鏡像,提高了系統(tǒng)的可移植性和可擴(kuò)展性。
2、在云原生環(huán)境中,應(yīng)用程序通常被拆分為一系列獨(dú)立且協(xié)作的微服務(wù)。這些微服務(wù)可以獨(dú)立部署、擴(kuò)展和維護(hù),大大提高了系統(tǒng)的靈活性和可維護(hù)性。容器編排工具,如kubernetes,通過將微服務(wù)部署為pod的形式,進(jìn)一步增強(qiáng)了這種靈活性。pod是kubernetes中的最小部署單元,它封裝了一個(gè)或多個(gè)容器,這些容器共享網(wǎng)絡(luò)和存儲(chǔ)資源。
3、然而,現(xiàn)有的云原生數(shù)據(jù)庫(kù)技術(shù)在配置管理方面存在一些挑戰(zhàn)。例如,當(dāng)需要修改數(shù)據(jù)庫(kù)配置時(shí),管理員可能需要逐個(gè)進(jìn)入相關(guān)組件的pod進(jìn)行調(diào)整。這種方法不僅效率低下,而且容易出錯(cuò),尤其是在復(fù)雜的分布式云數(shù)據(jù)庫(kù)系統(tǒng)中。這些系統(tǒng)通常需要處理龐大的數(shù)據(jù)量和復(fù)雜的業(yè)務(wù)需求,因此對(duì)配置管理的靈活性和實(shí)時(shí)性有著更高的要求。
4、分布式云數(shù)據(jù)庫(kù)的另一個(gè)特點(diǎn)是其高度的分布式性和可伸縮性。這意味著數(shù)據(jù)庫(kù)可以在多個(gè)地理位置分布,以支持全球范圍內(nèi)的用戶和服務(wù)。這種分布式特性要求數(shù)據(jù)庫(kù)配置能夠快速響應(yīng)變化,以適應(yīng)不同的業(yè)務(wù)場(chǎng)景和負(fù)載需求。
5、此外,分布式數(shù)據(jù)庫(kù)的多樣性和復(fù)雜性也給配置管理帶來了挑戰(zhàn)。不同的數(shù)據(jù)庫(kù)組件可能擁有不同的配置項(xiàng)和參數(shù),這些配置項(xiàng)之間可能存在復(fù)雜的依賴關(guān)系。如果使用傳統(tǒng)的配置管理方法,可能會(huì)導(dǎo)致配置錯(cuò)誤或不一致性,從而影響數(shù)據(jù)庫(kù)的性能和穩(wěn)定性。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)提供了一種分布式數(shù)據(jù)庫(kù)配置管理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),解決了現(xiàn)有分布式數(shù)據(jù)庫(kù)在修改配置時(shí),需要逐個(gè)進(jìn)入相關(guān)組件的pod進(jìn)行調(diào)整,效率低下且容易出錯(cuò),無法滿足配置管理的靈活性和實(shí)時(shí)性的技術(shù)問題。
2、有鑒于此,本技術(shù)第一方面提供了一種分布式數(shù)據(jù)庫(kù)配置管理方法,所述方法包括:
3、接收用戶通過自定義資源配置的待修改的目標(biāo)組件以及目標(biāo)參數(shù);
4、當(dāng)所述目標(biāo)參數(shù)滿足預(yù)設(shè)校驗(yàn)規(guī)則時(shí),根據(jù)所述目標(biāo)組件以及所述目標(biāo)參數(shù)生成第一配置資源對(duì)象;
5、獲取所述目標(biāo)組件對(duì)應(yīng)環(huán)境的當(dāng)前配置資源對(duì)象;
6、基于所述第一配置資源對(duì)象對(duì)所述當(dāng)前配置資源對(duì)象進(jìn)行整合修改,生成第二配置資源對(duì)象;
7、將所述第二配置資源對(duì)象掛載至所述目標(biāo)組件對(duì)應(yīng)pod中,由所述pod根據(jù)所述第二配置資源對(duì)象中的配置參數(shù)進(jìn)行配置。
8、可選地,所述接收用戶通過自定義資源配置的待修改的目標(biāo)組件以及目標(biāo)參數(shù)之后還包括:
9、當(dāng)所述目標(biāo)參數(shù)不滿足預(yù)設(shè)校驗(yàn)規(guī)則時(shí),生成錯(cuò)誤信息以及修改意見;
10、向所述用戶對(duì)應(yīng)客戶端發(fā)送所述錯(cuò)誤信息以及修改意見。
11、可選地,所述基于所述第一配置資源對(duì)象對(duì)所述當(dāng)前配置資源對(duì)象進(jìn)行整合修改,生成第二配置資源對(duì)象具體包括:
12、根據(jù)所述目標(biāo)參數(shù)的屬性,判斷所述目標(biāo)參數(shù)為動(dòng)態(tài)生效或靜態(tài)生效;
13、若所述目標(biāo)參數(shù)為動(dòng)態(tài)生效,則基于所述第一配置資源對(duì)象對(duì)所述當(dāng)前配置資源對(duì)象進(jìn)行整合修改,生成第二配置資源對(duì)象;
14、若所述目標(biāo)參數(shù)為靜態(tài)生效,則根據(jù)預(yù)設(shè)重啟策略判斷是否執(zhí)行重啟指令以及重啟后是否執(zhí)行基于所述第一配置資源對(duì)象對(duì)所述當(dāng)前配置資源對(duì)象進(jìn)行整合修改,生成第二配置資源對(duì)象。
15、可選地,所述基于所述第一配置資源對(duì)象對(duì)所述當(dāng)前配置資源對(duì)象進(jìn)行整合修改,生成第二配置資源對(duì)象具體包括:
16、若所述第一配置資源對(duì)象中包含的目標(biāo)參數(shù)存在于所述當(dāng)前配置資源對(duì)象中,則根據(jù)所述目標(biāo)參數(shù)更新所述當(dāng)前配置資源對(duì)象中的值,生成第二配置資源對(duì)象;
17、若所述第一配置資源對(duì)象中包含的目標(biāo)參數(shù)不存在于所述當(dāng)前配置資源對(duì)象中,則將所述目標(biāo)參數(shù)新增于所述當(dāng)前配置資源對(duì)象中,生成第二配置資源對(duì)象。
18、可選地,所述由所述pod根據(jù)所述第二配置資源對(duì)象中的配置參數(shù)進(jìn)行配置還包括:
19、當(dāng)所述pod新建或重建時(shí),讀取所述第二配置資源對(duì)象中的配置參數(shù),并以所述配置參數(shù)啟動(dòng)。
20、可選地,所述將所述第二配置資源對(duì)象掛載至所述目標(biāo)組件對(duì)應(yīng)pod中,由所述pod根據(jù)所述第二配置資源對(duì)象中的配置參數(shù)進(jìn)行配置之后還包括:
21、接收所述pod返回的參數(shù)配置生效回執(zhí);
22、若所述參數(shù)配置生效回執(zhí)為配置失敗,則回滾所述pod的配置資源對(duì)象為所述當(dāng)前配置資源對(duì)象。
23、可選地,所述將所述第二配置資源對(duì)象掛載至所述目標(biāo)組件對(duì)應(yīng)pod中,由所述pod根據(jù)所述第二配置資源對(duì)象中的配置參數(shù)進(jìn)行配置之后還包括:
24、生成配置變更日志,所述配置變更日志包括變更時(shí)間、變更配置參數(shù)值以及所述用戶的信息。
25、本技術(shù)第二方面提供一種分布式數(shù)據(jù)庫(kù)配置管理裝置,所述裝置包括:
26、接收單元,用于接收用戶通過自定義資源配置的待修改的目標(biāo)組件以及目標(biāo)參數(shù);
27、第一生成單元,用于當(dāng)所述目標(biāo)參數(shù)滿足預(yù)設(shè)校驗(yàn)規(guī)則時(shí),根據(jù)所述目標(biāo)組件以及所述目標(biāo)參數(shù)生成第一配置資源對(duì)象;
28、獲取單元,用于獲取所述目標(biāo)組件對(duì)應(yīng)環(huán)境的當(dāng)前配置資源對(duì)象;
29、第二生成單元,用于基于所述第一配置資源對(duì)象對(duì)所述當(dāng)前配置資源對(duì)象進(jìn)行整合修改,生成第二配置資源對(duì)象;
30、掛載單元,用于將所述第二配置資源對(duì)象掛載至所述目標(biāo)組件對(duì)應(yīng)pod中,由所述pod根據(jù)所述第二配置資源對(duì)象中的配置參數(shù)進(jìn)行配置。
31、本技術(shù)第三方面提供一種分布式數(shù)據(jù)庫(kù)配置管理設(shè)備,所述設(shè)備包括處理器以及存儲(chǔ)器:
32、所述存儲(chǔ)器用于存儲(chǔ)程序代碼,并將所述程序代碼傳輸給所述處理器;
33、所述處理器用于根據(jù)所述程序代碼中的指令,執(zhí)行如上述第一方面所述的分布式數(shù)據(jù)庫(kù)配置管理的方法的步驟。
34、本技術(shù)第四方面提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)用于存儲(chǔ)程序代碼,所述程序代碼用于執(zhí)行上述第一方面所述的方法。
35、從以上技術(shù)方案可以看出,本技術(shù)實(shí)施例具有以下優(yōu)點(diǎn):
36、本技術(shù)中,提供了一種分布式數(shù)據(jù)庫(kù)配置管理方法、裝置、設(shè)備及存儲(chǔ)介質(zhì),利用自定義資源配置作為配置管理的統(tǒng)一入口,簡(jiǎn)化用戶操作,使得用戶通過自定義資源配置確定需要修改的目標(biāo)參數(shù)及其目標(biāo)組件,在對(duì)目標(biāo)參數(shù)進(jìn)行校驗(yàn)并通過后,生成第一配置資源對(duì)象,將第一配置資源對(duì)象結(jié)合目標(biāo)組件對(duì)應(yīng)環(huán)境的當(dāng)前配置資源對(duì)象進(jìn)行整合修改,最終生成目標(biāo)組件對(duì)應(yīng)pod所需的第二配置資源對(duì)象,掛載至pod中進(jìn)行參數(shù)的配置修改,既保證了參數(shù)的正確性和關(guān)聯(lián)性,同時(shí)提高了參數(shù)配置的效率,解決了現(xiàn)有分布式數(shù)據(jù)庫(kù)在修改配置時(shí),需要逐個(gè)進(jìn)入相關(guān)組件的pod進(jìn)行調(diào)整,效率低下且容易出錯(cuò),無法滿足配置管理的靈活性和實(shí)時(shí)性的技術(shù)問題。