作者:haizdl 城商銀行系統(tǒng)架構(gòu)師 所謂雙活數(shù)據(jù)中心的架構(gòu),我認(rèn)為有數(shù)據(jù)中心級(jí)別的雙活、應(yīng)用級(jí)別的雙活、業(yè)務(wù)級(jí)別的雙活之分。 1)數(shù)據(jù)中心級(jí)別的雙活,相對(duì)容易實(shí)現(xiàn),只要不同的業(yè)務(wù)跑在不同的數(shù)據(jù)中心就可以了。 2)應(yīng)用級(jí)別的雙活,只要業(yè)務(wù)能讀寫(xiě)分離,同樣的業(yè)務(wù)系統(tǒng),寫(xiě)操作單中心做,讀操作雙數(shù)據(jù)中心做,需要應(yīng)用系統(tǒng)的高度邏輯隔離。 3)業(yè)務(wù)級(jí)別的雙活,就是指同一筆業(yè)務(wù)既可以在A中心寫(xiě)入,也可以在B中心寫(xiě)入。這種雙活就相對(duì)困難了。 對(duì)于業(yè)務(wù)級(jí)別的雙活來(lái)講,他的關(guān)鍵制約條件是什么呢?我們從上到下來(lái)看: 一、網(wǎng)絡(luò)層面:雙數(shù)據(jù)中心2層打通,GTM+LTM很容易做到分流控制。 二、應(yīng)用層面:只要是短連接應(yīng)用,掛載負(fù)載均衡設(shè)備上,無(wú)論是虛擬化還是實(shí)體機(jī),也非常容易做到。 三、數(shù)據(jù)層面:要完成三個(gè)功能:一是兩邊都能寫(xiě)入,二是兩邊都要保留數(shù)據(jù)的副本,三是兩邊的數(shù)據(jù)庫(kù)節(jié)點(diǎn)能快速接管彼此的業(yè)務(wù)。那就是數(shù)據(jù)庫(kù)AA集群+數(shù)據(jù)復(fù)制技術(shù)。
因此我認(rèn)為,在既有關(guān)系型數(shù)據(jù)庫(kù)的前提下,雙活最穩(wěn)妥的做法就是: 網(wǎng)絡(luò)層: 大二層、GTM 應(yīng)用層:虛擬化 + LTM 數(shù)據(jù)層:?jiǎn)沃行募簲?shù)據(jù)庫(kù) + 數(shù)據(jù)庫(kù)復(fù)制技術(shù) 管理層:開(kāi)發(fā)腳本減少切換浪費(fèi)掉不必要的時(shí)間 社區(qū)網(wǎng)友補(bǔ)充觀點(diǎn):
根據(jù)我們的實(shí)施的經(jīng)驗(yàn)補(bǔ)充幾點(diǎn): 1,網(wǎng)絡(luò)大二層必要性不大,雙中心耦合度太高,用DNS搞定。 2,虛擬化不是必須的,但虛擬化對(duì)縮短恢復(fù)時(shí)間有好處。 3,跨中心數(shù)據(jù)庫(kù)復(fù)制技術(shù),同步模式對(duì)主庫(kù)影響太大,異步模式會(huì)有數(shù)據(jù)丟失,需要補(bǔ)償措施。
同城雙活,網(wǎng)絡(luò)層面可以大二層。異地的雙活,大二層代價(jià)較高,可使用全局負(fù)載均衡+DNS進(jìn)行流量導(dǎo)引。數(shù)據(jù)層面使用數(shù)據(jù)庫(kù)自身的高可用解決方案,比如ADG、Oracle Extended RAC,這些比存儲(chǔ)陣列的雙活效果要好。
補(bǔ)充網(wǎng)絡(luò)的大二層是為虛擬化環(huán)境中,虛擬機(jī)跨數(shù)據(jù)中心飄移的,在雙活數(shù)據(jù)中心模式確實(shí)必要性不大。另外說(shuō)到雙活無(wú)法解決邏輯,建議在保障業(yè)務(wù)連續(xù)性的同時(shí)增加CDP,對(duì)業(yè)務(wù)系統(tǒng)的邏輯錯(cuò)誤、操作系統(tǒng)、病毒等進(jìn)行有效的保護(hù)。
其實(shí)在雙活搭建的最難點(diǎn)也就是如何保證數(shù)據(jù)庫(kù)的雙活。數(shù)據(jù)庫(kù)的雙活不是為了提高系統(tǒng)利用率,而是在于災(zāi)難發(fā)生的時(shí)候,應(yīng)用能更快的恢復(fù)響應(yīng)。在數(shù)據(jù)層,單中心集群加數(shù)據(jù)復(fù)制就不太滿足發(fā)生災(zāi)難時(shí)快速恢復(fù)的要求。這也是為什么要做數(shù)據(jù)庫(kù)雙活。數(shù)據(jù)庫(kù)雙活不可避免會(huì)有很多的熱點(diǎn)數(shù)據(jù),這在RAC和DB2 GDPC集群里面都是常見(jiàn)的問(wèn)題。這些問(wèn)題也是有調(diào)優(yōu)辦法的,主要的思路是分散熱點(diǎn)數(shù)據(jù)。解決了性能問(wèn)題后,雙活環(huán)境才算真正達(dá)到效果。 光纖抖動(dòng)確實(shí)會(huì)影響數(shù)據(jù)庫(kù)的交易。主要是存儲(chǔ)復(fù)制的IO請(qǐng)求如果正好在這個(gè)光纖上,可能會(huì)丟失,只能等到超時(shí)。這個(gè)影響比較大。現(xiàn)在在光纖交換機(jī)上配置了一些策略來(lái)抵抗抖動(dòng),同時(shí)還有DCP保護(hù)。
沒(méi)錯(cuò)。ORACLE數(shù)據(jù)庫(kù)也是有分區(qū)技術(shù)的。但是這就需要應(yīng)用做大的調(diào)整了,數(shù)據(jù)庫(kù)模型得重新設(shè)計(jì)。而且應(yīng)用系統(tǒng)能否改造還得看它的業(yè)務(wù)特點(diǎn)。 而且這僅僅是一個(gè)緩解問(wèn)題的手段,不是科學(xué)合理的解決方案,我是這樣認(rèn)為的,您覺(jué)得呢? 對(duì)于以上思路和觀點(diǎn),您怎么看?歡迎點(diǎn)擊“閱讀原文”發(fā)表您的見(jiàn)解看法。 本內(nèi)容來(lái)自于在線交流活動(dòng):金融行業(yè)數(shù)據(jù)中心的雙活實(shí)現(xiàn)方式應(yīng)該如何選擇? (地址http://www./activity/?id=127 |
|