- MySQL高可用實踐
- 王雪迎
- 373字
- 2021-03-26 23:06:33
2.7 小 結
為了解決主從數據一致性的問題,MySQL早在5.5版本就引入了半同步復制。經過支持發送二進制日志事件和接收ACK的異步化,控制主庫接收確認從庫的反饋數量,二進制日志互斥鎖改進等一系列的優化,使得半同步復制在保證數據一致性的同時,性能有了大幅提升。
在本章中,我們還展示了rpl_semi_sync_master_wait_point、sync_binlog、sync_relay_log這三個配置參數在MySQL 5.7中實現的源代碼,詳細分析了不同參數值對數據一致性產生的影響。在需要強一致性的場景中,sync_binlog和sync_relay_log都應設置為1,而rpl_semi_sync_master_wait_point應設置為WAIT_AFTER_SYNC。不過,這樣做會犧牲一定的性能,因而需要權衡考慮。
最后,我們介紹了配置半同步復制的步驟,并且測試了主庫提交事務、回滾事務對從庫的影響,以及rpl_semi_sync_master_wait_no_slave參數所起的作用。通過設置相關的配置參數可以控制半同步復制的行為,同樣通過查詢相關的狀態參數可以查看半同步復制的當前狀態,它們被統稱為半同步復制的管理接口。下一章將講述一個與MySQL復制相關的重要主題——GTID。
推薦閱讀
- DevOps with Kubernetes
- Vue.js 2 and Bootstrap 4 Web Development
- 用戶體驗增長:數字化·智能化·綠色化
- Web Development with MongoDB and Node(Third Edition)
- 從零開始學Android開發
- Kotlin進階實戰
- Python Linux系統管理與自動化運維
- Python趣味創意編程
- C++面向對象程序設計
- Mastering R for Quantitative Finance
- Learning jqPlot
- Learning Rust
- 你也能看得懂的Python算法書
- 大學計算機基礎
- 數據結構案例教程:C語言版