偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

銀行核心系統(tǒng)分布式改造,架構(gòu)設(shè)計(jì)如何為數(shù)據(jù)庫(kù)運(yùn)維加成?

數(shù)據(jù)庫(kù) 其他數(shù)據(jù)庫(kù)
數(shù)據(jù)庫(kù)選型放在架構(gòu)設(shè)計(jì)之后的一個(gè)重要考量是保證數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)的客觀性。如果在數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)之前就選定了數(shù)據(jù)庫(kù),架構(gòu)設(shè)計(jì)將不可避免地受到數(shù)據(jù)庫(kù)功能特性的影響。

一、數(shù)據(jù)庫(kù)架構(gòu)建設(shè)的基本方法和過程

二、某核心系統(tǒng)由大型機(jī)系統(tǒng)遷移到分布式架構(gòu)

三、Redis異地容災(zāi)架構(gòu)建設(shè)

一、數(shù)據(jù)庫(kù)架構(gòu)建設(shè)的基本方法和過程

1.數(shù)據(jù)庫(kù)架構(gòu)組成

1)數(shù)據(jù)庫(kù)架構(gòu)

在日常工作中,如果我們說到數(shù)據(jù)庫(kù)架構(gòu),一般來說指的是網(wǎng)絡(luò)、主機(jī)、存儲(chǔ)及之上運(yùn)行的數(shù)據(jù)庫(kù)實(shí)例。數(shù)據(jù)庫(kù)架構(gòu)工作指的則是如何去評(píng)估和組合這些組件,從而為業(yè)務(wù)提供符合運(yùn)營(yíng)要求的數(shù)據(jù)庫(kù)服務(wù)。

2)數(shù)據(jù)庫(kù)訪問組件

當(dāng)數(shù)據(jù)庫(kù)架構(gòu)演進(jìn)到分布式架構(gòu),如何讓應(yīng)用程序(服務(wù))快速確認(rèn)數(shù)據(jù)所在的位置,就成為了一個(gè)核心的問題,而這就是數(shù)據(jù)庫(kù)訪問組件的工作。

3)數(shù)據(jù)庫(kù)運(yùn)營(yíng)平臺(tái)

對(duì)于一個(gè)大型組織,運(yùn)營(yíng)幾千套、幾萬套數(shù)據(jù)庫(kù)實(shí)例是很平常的事情,而這也給運(yùn)營(yíng)團(tuán)隊(duì)的日常管理帶來了一定難度的挑戰(zhàn)。各個(gè)公司組織紛紛搭建運(yùn)營(yíng)平臺(tái),用于告警監(jiān)控、故障處理、變更、版本發(fā)布等,在設(shè)計(jì)和構(gòu)建數(shù)據(jù)庫(kù)架構(gòu)的同時(shí)建設(shè)數(shù)據(jù)庫(kù)運(yùn)營(yíng)平臺(tái)已經(jīng)成為了一種標(biāo)準(zhǔn)操作。

2.可運(yùn)營(yíng)及需求的組成

1)業(yè)務(wù)需求

數(shù)據(jù)庫(kù)架構(gòu)首先要匹配組織的業(yè)務(wù)流程,滿足組織的業(yè)務(wù)需求,是所有從業(yè)者的共識(shí)。

2)運(yùn)營(yíng)需求

設(shè)計(jì)和構(gòu)建數(shù)據(jù)庫(kù)架構(gòu)的最終目標(biāo)就是獲得一個(gè)能夠持續(xù)、穩(wěn)定提供服務(wù)的數(shù)據(jù)庫(kù)集群,從設(shè)計(jì)之初就充分了解和滿足運(yùn)營(yíng)需求,是數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)成功的一個(gè)關(guān)鍵要素。

3)監(jiān)管需求

對(duì)于強(qiáng)監(jiān)管行業(yè)而言,不滿足監(jiān)管要求,項(xiàng)目就無法上線。因此,監(jiān)管需求可以說事關(guān)監(jiān)管行業(yè)的生死,必須在設(shè)計(jì)之初就充分考慮。

3.架構(gòu)設(shè)計(jì)

1)業(yè)界生態(tài)

“不要重復(fù)造輪子”,在數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)前,調(diào)研業(yè)界的技術(shù)生態(tài)非常重要。同時(shí)需要注意,我們所在組織的技術(shù)生態(tài)也是業(yè)界生態(tài)非常重要的一部分。

2)架構(gòu)設(shè)計(jì)初稿

通過調(diào)研業(yè)界生態(tài),我們能夠獲取數(shù)據(jù)庫(kù)架構(gòu)所需的模塊,再結(jié)合項(xiàng)目的實(shí)際情況,對(duì)所需模塊進(jìn)行組合和完善,就能夠獲取數(shù)據(jù)庫(kù)架構(gòu)的初稿。

4.架構(gòu)構(gòu)建

1)數(shù)據(jù)庫(kù)選型和測(cè)試

數(shù)據(jù)庫(kù)選型放在架構(gòu)設(shè)計(jì)之后的一個(gè)重要考量是保證數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)的客觀性。如果在數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)之前就選定了數(shù)據(jù)庫(kù),架構(gòu)設(shè)計(jì)將不可避免地受到數(shù)據(jù)庫(kù)功能特性的影響。

2)數(shù)據(jù)庫(kù)架構(gòu)原型

在擁有數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)和完成數(shù)據(jù)庫(kù)選型的前提下,我們才能在測(cè)試或者開發(fā)環(huán)境構(gòu)建數(shù)據(jù)庫(kù)架構(gòu)原型,這是我們下一步工作的基礎(chǔ)。

5.架構(gòu)迭代

1)在完成數(shù)據(jù)庫(kù)原型建設(shè)之后,可以開始對(duì)數(shù)據(jù)庫(kù)原型進(jìn)行測(cè)試和驗(yàn)證,驗(yàn)證指標(biāo)應(yīng)回到最初的需求、業(yè)務(wù)目標(biāo)、運(yùn)營(yíng)目標(biāo)和監(jiān)管目標(biāo)。

2)每輪的測(cè)試和驗(yàn)證都會(huì)生成架構(gòu)的優(yōu)化項(xiàng),結(jié)合項(xiàng)目的需求和目標(biāo),對(duì)數(shù)據(jù)庫(kù)架構(gòu)不斷進(jìn)行迭代,一般在3到5輪迭代之后就可以得到一個(gè)相對(duì)穩(wěn)定可靠的數(shù)據(jù)庫(kù)架構(gòu)。

二、某核心系統(tǒng)由大型機(jī)系統(tǒng)遷移到分布式架構(gòu)

1.項(xiàng)目調(diào)研

遷移項(xiàng)目第一步是對(duì)當(dāng)前系統(tǒng)的情況進(jìn)行摸底調(diào)查。

1)容量和性能指標(biāo)

系統(tǒng)指標(biāo)分為很多方面,對(duì)于數(shù)據(jù)庫(kù)架構(gòu)而言,首先需要考慮的是性能和容量指標(biāo)。

2)業(yè)務(wù)特性

該項(xiàng)目具有一個(gè)明顯的特點(diǎn)——實(shí)時(shí)在線業(yè)務(wù)一次僅處理一個(gè)客戶,賬務(wù)結(jié)算和報(bào)表模塊一次需要處理很多客戶數(shù)據(jù)。

3)數(shù)據(jù)訪問和處理

通常意義上所說的計(jì)算和存儲(chǔ)分離指的是數(shù)據(jù)存儲(chǔ)在大型機(jī)文件中,業(yè)務(wù)邏輯完全在應(yīng)用層實(shí)現(xiàn)。

4)項(xiàng)目人員能力

項(xiàng)目人員的能力主要集中于JAVA的開發(fā),對(duì)于Oracle和MySQL較為熟悉,其他關(guān)系型數(shù)據(jù)庫(kù)的開發(fā)則相對(duì)陌生,項(xiàng)目人員的能力對(duì)于數(shù)據(jù)庫(kù)選型有明顯的影響。

2.數(shù)據(jù)庫(kù)架構(gòu)原型設(shè)計(jì)

1)按照客戶對(duì)數(shù)據(jù)進(jìn)行分片,數(shù)據(jù)路由在應(yīng)用層處理,每個(gè)分片都由一個(gè)數(shù)據(jù)處理模塊和一組數(shù)據(jù)庫(kù)實(shí)例組成,不同分片之間完全獨(dú)立,跨分片的聚合計(jì)算在業(yè)務(wù)層處理。

2)站在數(shù)據(jù)庫(kù)本身的視角,不同分片之間的數(shù)據(jù)庫(kù)實(shí)例是完全獨(dú)立的,不存在任何的數(shù)據(jù)交互。站在業(yè)務(wù)的角度,所有的數(shù)據(jù)庫(kù)實(shí)例則組成了一個(gè)統(tǒng)一的數(shù)據(jù)庫(kù)集群。

3)該架構(gòu)的優(yōu)點(diǎn)是單分片處理邏輯簡(jiǎn)單,對(duì)實(shí)時(shí)在線業(yè)務(wù)非常友好;缺點(diǎn)是跨分片處理邏輯復(fù)雜,報(bào)表和賬務(wù)結(jié)算業(yè)務(wù)難度高。

圖片

3.數(shù)據(jù)庫(kù)選型

1)Oracle和MySQL的對(duì)比測(cè)試

  • Oracle在性能和故障自動(dòng)恢復(fù)上具有一定的優(yōu)勢(shì),但分布式應(yīng)用架構(gòu)下數(shù)據(jù)庫(kù)實(shí)例眾多,Oracle的成本要遠(yuǎn)高于MySQL。
  • MySQL在技術(shù)生態(tài)上與應(yīng)用分布式架構(gòu)更匹配,但需要解決半同步不降級(jí)的問題。

2)經(jīng)過架構(gòu)師團(tuán)隊(duì)的討論和權(quán)衡,最終決定使用MySQL衍生數(shù)據(jù)庫(kù),性能與原生MySQL接近,同時(shí)半同步不降級(jí),滿足RPO=0

4.運(yùn)營(yíng)平臺(tái)建設(shè)

1)配置管理:為每個(gè)數(shù)據(jù)庫(kù)實(shí)例添加分片屬性和業(yè)務(wù)屬性。

2)端到端交付:為了滿足數(shù)據(jù)庫(kù)實(shí)例可以動(dòng)態(tài)地橫向擴(kuò)容和縮容,增加了拉入節(jié)點(diǎn)、拉出節(jié)點(diǎn)和資源池的功能。

3)監(jiān)控和故障處理:在原有的數(shù)據(jù)庫(kù)監(jiān)控平臺(tái)的基礎(chǔ)上,增加了業(yè)務(wù)視角和分片視角,當(dāng)數(shù)據(jù)庫(kù)實(shí)例故障時(shí),能夠更加精準(zhǔn)定位到受影響的客戶。

4)數(shù)據(jù)庫(kù)變更:為滿足24小時(shí)不停機(jī)的業(yè)務(wù)要求,增加了業(yè)務(wù)降級(jí)、流量管控、滾動(dòng)處理和變更日歷功能。

5)版本發(fā)布:在分布式架構(gòu)下,為應(yīng)對(duì)成倍上升的復(fù)雜度和風(fēng)險(xiǎn),增加灰度發(fā)布、并行發(fā)布、分片自適應(yīng)和版本編排功能。

5.數(shù)據(jù)庫(kù)架構(gòu)迭代

1)為滿足監(jiān)管要求,需要在已有架構(gòu)上添加容災(zāi)架構(gòu)。

  • 在生產(chǎn)數(shù)據(jù)中心和容災(zāi)數(shù)據(jù)中心建設(shè)相同的數(shù)據(jù)路由、數(shù)據(jù)處理模塊及對(duì)應(yīng)的數(shù)據(jù)庫(kù)實(shí)例,對(duì)應(yīng)的數(shù)據(jù)庫(kù)實(shí)例之間進(jìn)行數(shù)據(jù)同步。
  • 每個(gè)分片都可以獨(dú)立在不同的數(shù)據(jù)中心之間自由切換。
  • 添加全局?jǐn)?shù)據(jù)路由,能夠保證將事務(wù)處理路由到正確的數(shù)據(jù)中心處理。

2)使用業(yè)界已有的技術(shù),通過binlog將數(shù)據(jù)實(shí)時(shí)同步到大數(shù)據(jù)平臺(tái),進(jìn)行報(bào)表分析。

3)使用業(yè)界已有的技術(shù),通過binlog將數(shù)據(jù)實(shí)時(shí)同步到分片數(shù)據(jù)庫(kù)(整體引入),降低賬務(wù)結(jié)算程序的復(fù)雜度。

圖片

三、Redis異地容災(zāi)架構(gòu)建設(shè)

1.需求整理

1)所有的Redis僅作為緩存使用,無數(shù)據(jù)同步需求。

2)95%以上的Redis為Cluster架構(gòu),5%以內(nèi)的Redis為哨兵架構(gòu),本次設(shè)計(jì)的架構(gòu)聚焦于Cluster架構(gòu)。

3)95%以上的Redis Cluster無容量和性能要求,準(zhǔn)確來說就是所有的Redis Cluster都可以標(biāo)準(zhǔn)化,只要后續(xù)提供擴(kuò)容/縮容的功能即可。

4)生產(chǎn)Redis Cluster變化較大,異地容災(zāi)要求和生產(chǎn)同步上線和下線。

5)最小化DBA和應(yīng)用開發(fā)團(tuán)隊(duì)的人力成本。

2.架構(gòu)實(shí)現(xiàn)

1)建設(shè)一個(gè)K8S集群,用來承載所有的Redis集群。

2)建設(shè)Redis集群同步平臺(tái),從已有的CMDB讀取生產(chǎn)Redis集群的信息,并將創(chuàng)建的異地容災(zāi)Redis集群信息更新到CMDB。

3)同步進(jìn)程根據(jù)CMDB生成生產(chǎn)Redis集群集合和異地容災(zāi)集合。生產(chǎn)集合減去異地容災(zāi)集合,即需要搭建的異地容災(zāi)集合,平臺(tái)將自動(dòng)創(chuàng)建異地容災(zāi)集群,并將信息更新到CMDB。異地容災(zāi)集合減去生產(chǎn)集合,即需要下線的異地容災(zāi)集合,平臺(tái)將自動(dòng)下線異地容災(zāi)集群,并將這些集群從CMDB中刪除。

4)每天執(zhí)行上述步驟,即可保證移動(dòng)容災(zāi)集群和生產(chǎn)集群的同步。

5)K8S集群可以自動(dòng)拉起宕掉的節(jié)點(diǎn),結(jié)合Redis集群本身的高可用,即可保證異地容災(zāi)集群的高可用。

6)K8S集群本身的告警監(jiān)控即可滿足異地容災(zāi)的告警和故障處理需求。

7)設(shè)計(jì)自助平臺(tái),應(yīng)用開發(fā)和運(yùn)營(yíng)團(tuán)隊(duì)可以進(jìn)行自助查詢、自助修改參數(shù)、自助擴(kuò)容、自助申請(qǐng)域名等操作,最小化DBA和應(yīng)用開發(fā)運(yùn)營(yíng)的人力成本。


圖片

圖片

王順

平安銀行 數(shù)據(jù)庫(kù)運(yùn)維團(tuán)隊(duì)上海分組負(fù)責(zé)人

專注于數(shù)據(jù)庫(kù)領(lǐng)域20+年的老兵,目前專注于數(shù)據(jù)庫(kù)運(yùn)維和數(shù)據(jù)庫(kù)架構(gòu)。

責(zé)任編輯:武曉燕 來源: dbaplus社群
相關(guān)推薦

2023-10-16 09:00:00

數(shù)據(jù)庫(kù)分布式系統(tǒng)

2023-08-27 16:11:35

數(shù)據(jù)庫(kù)分布式事務(wù)數(shù)據(jù)庫(kù)

2019-11-19 09:00:00

數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)

2024-09-27 08:00:00

2022-11-11 15:34:54

分布式

2022-11-14 08:14:28

分布式數(shù)據(jù)庫(kù)運(yùn)維

2020-03-23 07:30:57

數(shù)據(jù)庫(kù)運(yùn)維架構(gòu)

2020-01-03 09:00:00

數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)管理金融

2022-08-04 07:51:09

分布式轉(zhuǎn)型運(yùn)維

2016-07-05 16:51:45

分布系統(tǒng)

2022-08-19 10:54:37

數(shù)據(jù)庫(kù)技術(shù)

2021-11-08 10:52:02

數(shù)據(jù)庫(kù)分布式技術(shù)

2018-07-12 16:01:41

阿里云金融分布式

2022-02-22 10:29:24

分布式架構(gòu)高可用

2022-09-09 09:49:46

系統(tǒng)遷移

2023-10-10 08:11:24

數(shù)據(jù)庫(kù)運(yùn)維多租戶

2010-01-15 10:15:34

分布式交換技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)