去哪兒黃勇:去哪網資料庫架構發展歷程
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
- 開源分散式資料庫SequoiaDB在去哪兒網的實踐分散式資料庫
- vue去哪兒複習Vue
- Vue—去哪兒筆記Vue筆記
- Java永久代去哪兒了Java
- Golang之變數去哪兒?Golang變數
- 去哪兒網專案學習總結
- 去哪兒網企業級監控平臺-Watcher
- Vue2.5去哪兒網App開發實戰(一) - 簡介VueAPP
- 大型網站架構演化發展歷程網站架構
- vue2.5開發去哪兒網App,餓了麼App重構,最新視訊VueAPP
- 去哪兒網:國內9成酒店恢復營業
- 架構師日記-從資料庫發展歷程到資料結構設計探析架構資料庫資料結構
- 賣茶葉去哪裡批發?-黃志強茶莊
- 大型網站架構演化發展歷程 - 上網站架構
- 騰訊創業:2018年古典網際網路的資金會去哪兒?創業
- 去哪兒網領域驅動設計(DDD)實踐之路
- 去哪兒網快速App開發及問題解決平臺實踐APP
- 業務瘦身42%+效率提升50% :去哪兒網業務重構DDD落地實踐
- Vue2.5 零基礎開發去哪兒網實戰(二) - Vue 起步Vue
- 軟體架構發展歷程分享架構
- 學了IT,畢業後該去哪個城市發展好?
- 爬蟲進階之去哪兒酒店(國內外)爬蟲
- 去哪兒網:2019年國慶黃金週國內航線預訂量同比增長逾10%
- 賣茶葉去哪裡批發?
- 萌物分享 | 鏟屎官,下一站去哪兒?
- Vue2.5 零基礎開發去哪兒網實戰(二) - 起步 Vue.jsVue.js
- 批發茶葉去哪裡進貨
- 批發茶葉去哪裡拿貨
- 批發茶葉去哪裡進貨?
- 開茶葉店去哪裡批發
- 開茶葉店去哪裡批發?
- DBA 降本增效之路——去哪兒網 Redis 自動化運維體系Redis運維
- QPS降低80%,去哪兒網業務快取體系的升級改造快取
- 茶葉哪裡批發,批發茶葉去哪裡進貨