2005年2月,去哪兒在北京成立,去哪兒網(wǎng)的數(shù)據(jù)庫也搭建完成。去哪兒網(wǎng)數(shù)據(jù)庫架構(gòu)師黃勇在SACC大會現(xiàn)場打趣道,那時的數(shù)據(jù)庫就是一個小作坊模式,單機房內(nèi)的MySQL架構(gòu)。在這之后,去哪兒網(wǎng)數(shù)據(jù)庫架構(gòu)共經(jīng)歷了四個階段,逐漸過渡到今天的跨機房QMHA架構(gòu),可異地部署還可保證高可用和安全性。這一路走來,是什么推動了去哪兒網(wǎng)的數(shù)據(jù)庫架構(gòu)變遷?又遇到了哪些問題?如何解決的呢?
Qunar萌芽與發(fā)展期—單機房內(nèi)的MySQL到單機房內(nèi)的MMM
業(yè)務(wù)發(fā)展和技術(shù)都相對不太發(fā)達的過去,MMM架構(gòu)是非常受歡迎的一種部署方式,當時廣泛應(yīng)用于各大公司內(nèi)部。黃勇表示,隨著業(yè)務(wù)發(fā)展,這種簡單的MMM架構(gòu)逐漸暴露出了許多問題,比如運維復(fù)雜,需要綁定VIP,部署和修改配置文件,周邊監(jiān)控工具也十分匱乏。其次,網(wǎng)絡(luò)分區(qū)也存在很大問題,Master“假死”導(dǎo)致誤切換,數(shù)據(jù)庫雙寫導(dǎo)致數(shù)據(jù)錯亂,VIP沒有漂移或者漂移失敗等。
2012年,MySQL 5.6以上版本新特性開始不支持,這也標志著MMM時代的徹底結(jié)束。
Qunar飛速發(fā)展期—同機房PXC架構(gòu)
隨著業(yè)務(wù)的急速增長,推動了架構(gòu)的又一次革新。去哪兒網(wǎng)開始應(yīng)用PXC架構(gòu),新加入了哨兵集群,此時的架構(gòu)已經(jīng)可以自動failover、手動switchover、讀寫分離、負載均衡、namespace服務(wù),全局唯一、透明、擴容、遷移和升級。PXC單節(jié)點讀取可達5W qps,寫入可達15K qps。
去哪兒網(wǎng)之所以后來會放棄PXC選擇QMHA,還是因為PXC自身存在一定的局限性。比如節(jié)點間機器木桶短板效應(yīng)、客戶端容易雪崩;大事務(wù)和密集事務(wù)導(dǎo)致PXC節(jié)點壓力高,fc產(chǎn)生;DDL操作會殺死其他事務(wù),但DDL不能取消;相互校驗導(dǎo)致寫入性能下降,切換時不影響前端寫入,但盡量不要長時間多寫;機房間網(wǎng)絡(luò)延遲高影響客戶端QPS,且機器節(jié)點越多,QPS影響越大;PXC和MGR等新興結(jié)構(gòu)導(dǎo)致DBA學(xué)習(xí)成本變高,需要長期的學(xué)習(xí)和經(jīng)驗才可以掌握。
Qunar平穩(wěn)期—跨機房QMHA架構(gòu)
2015年至今,去哪兒網(wǎng)采用跨機房QMHA架構(gòu)。GTID易于維護和切換,主從節(jié)點間可知數(shù)據(jù)差異,分布式哨兵減少誤切換和網(wǎng)絡(luò)分區(qū)raft算法,提高數(shù)據(jù)節(jié)點一致性的同時提高集群安全性和可用性,多線程復(fù)制且可以跨機房和網(wǎng)段部。全局namespace通知客戶端更新配置。
黃勇表示,日后跨機房QMHA架構(gòu)會逐漸解決自動補全binlog、延遲處理和權(quán)重控制等問題,MHA可以自動補全binlog,PXC可以IST QMHA需要能在failover后自動補全binlog給原master節(jié)點,PXC和QMHA都需要做到只讀數(shù)據(jù)源可以根據(jù)權(quán)重配比進行流控,有助于對特殊機器的特殊處理。
經(jīng)歷了四個階段的發(fā)展,去哪兒網(wǎng)的數(shù)據(jù)庫架構(gòu)日趨穩(wěn)定,足以滿足日常業(yè)務(wù)所需。去哪兒網(wǎng)開發(fā)的DBA操作平臺—補天融合了去哪兒網(wǎng)數(shù)據(jù)庫整個團隊的經(jīng)驗和智慧,如果你感興趣,不妨來試試!
當前文章:去哪兒黃勇:去哪網(wǎng)數(shù)據(jù)庫架構(gòu)發(fā)展歷程-創(chuàng)新互聯(lián)
轉(zhuǎn)載源于:http://chinadenli.net/article34/ehspe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站制作、網(wǎng)站建設(shè)、軟件開發(fā)、移動網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容