去哪兒黃勇:去哪網資料庫架構發展歷程
2005年2月,去哪兒在北京成立,去哪兒網的資料庫也搭建完成。去哪兒網資料庫架構師黃勇在SACC大會現場打趣道,那時的資料庫就是一個小作坊模式,單機房內的MySQL架構。在這之後,去哪兒網資料庫架構共經歷了四個階段,逐漸過渡到今天的跨機房QMHA架構,可異地部署還可保證高可用和安全性。這一路走來,是什麼推動了去哪兒網的資料庫架構變遷?又遇到了哪些問題?如何解決的呢?
Qunar萌芽與發展期—單機房內的MySQL到單機房內的MMM
業務發展和技術都相對不太發達的過去,MMM架構是非常受歡迎的一種部署方式,當時廣泛應用於各大公司內部。黃勇表示,隨著業務發展,這種簡單的MMM架構逐漸暴露出了許多問題,比如運維複雜,需要繫結VIP,部署和修改配置檔案,周邊監控工具也十分匱乏。其次,網路分割槽也存在很大問題,Master“假死”導致誤切換,資料庫雙寫導致資料錯亂,VIP沒有漂移或者漂移失敗等。
2012年,MySQL 5.6以上版本新特性開始不支援,這也標誌著MMM時代的徹底結束。
Qunar飛速發展期—同機房PXC架構
隨著業務的急速增長,推動了架構的又一次革新。去哪兒網開始應用PXC架構,新加入了哨兵叢集,此時的架構已經可以自動failover、手動switchover、讀寫分離、負載均衡、namespace服務,全域性唯一、透明、擴容、遷移和升級。PXC單節點讀取可達5W qps,寫入可達15K qps。
去哪兒網之所以後來會放棄PXC選擇QMHA,還是因為PXC自身存在一定的侷限性。比如節點間機器木桶短板效應、客戶端容易雪崩;大事務和密集事務導致PXC節點壓力高,fc產生;DDL操作會殺死其他事務,但DDL不能取消;相互校驗導致寫入效能下降,切換時不影響前端寫入,但儘量不要長時間多寫;機房間網路延遲高影響客戶端QPS,且機器節點越多,QPS影響越大;PXC和MGR等新興結構導致DBA學習成本變高,需要長期的學習和經驗才可以掌握。
Qunar平穩期—跨機房QMHA架構
2015年至今,去哪兒網採用跨機房QMHA架構。GTID易於維護和切換,主從節點間可知資料差異,分散式哨兵減少誤切換和網路分割槽raft演算法,提高資料節點一致性的同時提高叢集安全性和可用性,多執行緒複製且可以跨機房和網段部。全域性namespace通知客戶端更新配置。
黃勇表示,日後跨機房QMHA架構會逐漸解決自動補全binlog、延遲處理和權重控制等問題,MHA可以自動補全binlog,PXC可以IST QMHA需要能在failover後自動補全binlog給原master節點,PXC和QMHA都需要做到只讀資料來源可以根據權重配比進行流控,有助於對特殊機器的特殊處理。
經歷了四個階段的發展,去哪兒網的資料庫架構日趨穩定,足以滿足日常業務所需。去哪兒網開發的DBA操作平臺—補天融合了去哪兒網資料庫整個團隊的經驗和智慧,如果你感興趣,不妨來試試!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31077337/viewspace-2153973/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 阿里京東去哪兒網資料庫架構設計圖到手!阿里資料庫架構
- 資料分析之去哪兒酒店
- Flutter 重構去哪兒QTalkFlutterQT
- vue去哪兒複習Vue
- Vue—去哪兒筆記Vue筆記
- 開源分散式資料庫SequoiaDB在去哪兒網的實踐分散式資料庫
- Golang之變數去哪兒?Golang變數
- Java永久代去哪兒了Java
- 週末去哪兒架構師跟你聊:大資料平臺快速解決方案架構大資料
- 去哪兒網專案學習總結
- 去哪兒網:2015年出境機票大資料包告大資料
- Vue2.5去哪兒網App開發實戰(一) - 簡介VueAPP
- vue2.5開發去哪兒網App,餓了麼App重構,最新視訊VueAPP
- 去哪兒網財報:2015年Q3去哪兒網總營收為13.251億元 淨虧損為7.348億元營收
- i美股:去哪兒投資研報IPO版
- PHP 7 來了,PHP 6 去哪兒了?PHP
- 去哪兒網企業級監控平臺-Watcher
- 去哪兒:2017年五一小長假出行大資料大資料
- 去哪兒:2015年出境機票大資料包告大資料
- 去哪兒網財報:2013年Q3去哪兒總營收為2.411億元 淨虧損為4880萬元營收
- 業務瘦身42%+效率提升50% :去哪兒網業務重構DDD落地實踐
- TripAdvisor貓途鷹:入華叫板攜程去哪兒iPad
- 去哪兒提交IPO招股書:2013年上半年去哪兒營收達3.588億元人民幣營收
- 去哪兒:2015年端午節出行資料包告
- 去哪兒網領域驅動設計(DDD)實踐之路
- 去哪兒 Api 自動化測試實踐API
- 大型網站架構演化發展歷程網站架構
- 去哪兒網快速App開發及問題解決平臺實踐APP
- 去哪兒網高管解讀財報:首要工作是穩定團隊
- 學了IT,畢業後該去哪個城市發展好?
- 騰訊創業:2018年古典網際網路的資金會去哪兒?創業
- Vue2.5 零基礎開發去哪兒網實戰(二) - Vue 起步Vue
- 爬蟲進階之去哪兒酒店(國內外)爬蟲
- ASP.NET MVC 4 檢視頁去哪裡兒ASP.NETMVC
- 大型網站架構演化發展歷程 - 上網站架構
- 1.2 大型網站架構演化發展歷程網站架構
- 架構師日記-從資料庫發展歷程到資料結構設計探析架構資料庫資料結構
- 去哪兒網起訴票務代理公司 稱提供無法使用機票