自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

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

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

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

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

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

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

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

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

3)數(shù)據(jù)庫運營平臺

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

2.可運營及需求的組成

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

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

2)運營需求

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

3)監(jiān)管需求

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

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

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

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

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

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

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

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

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

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

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

5.架構(gòu)迭代

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

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

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

1.項目調(diào)研

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

1)容量和性能指標

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

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

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

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

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

4)項目人員能力

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

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

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

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

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

圖片

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

1)Oracle和MySQL的對比測試

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

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

4.運營平臺建設(shè)

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

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

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

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

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

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

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

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

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

3)使用業(yè)界已有的技術(shù),通過binlog將數(shù)據(jù)實時同步到分片數(shù)據(jù)庫(整體引入),降低賬務(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è)計的架構(gòu)聚焦于Cluster架構(gòu)。

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

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

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

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

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

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

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

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

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

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

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


圖片

圖片

王順

平安銀行 數(shù)據(jù)庫運維團隊上海分組負責(zé)人

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

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

2023-10-16 09:00:00

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

2023-08-27 16:11:35

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

2019-11-19 09:00:00

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

2024-09-27 08:00:00

2022-11-14 08:14:28

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

2020-03-23 07:30:57

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

2022-11-11 15:34:54

分布式

2020-01-03 09:00:00

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

2022-08-04 07:51:09

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

2016-07-05 16:51:45

分布系統(tǒng)

2021-11-08 10:52:02

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

2018-07-12 16:01:41

阿里云金融分布式

2022-08-19 10:54:37

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

2022-02-22 10:29:24

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

2022-09-09 09:49:46

系統(tǒng)遷移

2023-03-07 09:49:04

分布式數(shù)據(jù)庫

2023-10-10 08:11:24

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

2022-06-02 10:35:20

架構(gòu)驅(qū)動
點贊
收藏

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