MySQL高可用方案介紹
另外,此偏文章做成PPT,忽悠領導或上級 是非常好用的。
歡迎轉載,請註明作者、出處。
MySQL-Transefer(下稱Transfer)是一個基於MySQL+patch後得到的主從同步工具。
其主要目的是為了解決原版本的主從同步裡,從庫是單執行緒apply主庫的binlog,導致的延遲。
MySQL5.6以後的版本,從庫即可多現在apply主庫的binlog。
對於資料實時性要求不是特別嚴格的應用,只需要透過廉價的pc server 來擴充套件Slave 的數量,將讀壓力分散到多臺Slave 的機器上面,即可透過分散單臺資料庫伺服器的讀壓力來解決資料庫端的讀效能瓶頸,畢竟在大多數資料庫應用系統中的讀壓力還是要比寫壓力大很多。這在很大程度上解決了目前很多中小型網站的資料庫壓力瓶頸問題,甚至有些大型網站也在使用類似方案解決資料庫瓶頸。
搭建成一個Dual Master 環境,並不是為了讓兩端都提供寫的服務。在正常情況下,我們都只會將其中一端開啟寫服務,另外一端僅僅只是提供讀服務,或者完全不提供任何服務,僅僅只是作為一個備用的機器存在。主要還是為了避免資料的衝突,防止造成資料的不一致性。因為即使在兩邊執行的修改有先後順序,但由於Replication 是非同步的實現機制,同樣會導致即使晚做的修改也可能會被早做的修改所覆蓋
透過Dual Master 複製架構,我們不僅能夠避免因為正常的常規維護操作需要的停機所帶來的重新搭建Replication 環境的操作,因為我們任何一端都記錄了自己當前複製到對方的什麼位置了,當系統起來之後,就會自動開始從之前的位置重新開始複製,而不需要人為去進行任何干預,大大節省了維護成本。
在MySQL Cluster 主配置檔案(在管理節點上面,一般為config.ini)中,有一個非常重要的引數叫NoOfReplicas,這個引數
指定了每一份資料被冗餘儲存在不同節點上面的份數,該引數一般至少應該被設定成2
mysql cluster成本更低,oracle
rac更成熟,而且應用案例很多;
mysql cluster雖然設計很好,但是功能實現還不夠完美,目前應用案例並不多,更多的案例是mysql replication
因為MySQL Cluster將資料分佈到幾個NDB節點之上,連線查詢時,如果需要連線的表位於不同的NDB節點上,就需要將不同節點上的資料拿到本地再進行連線查詢,這樣對資源消耗比較大。(不過在MySQL Cluster7.3版本中,增加了適應性join查詢,減小了以往join查詢對資源的消耗)
Heartbeat是Linux-HA工程的一個元件。heartbeat最核心的包括兩個部分:心跳監測和資源接管。在指定的時間內未收到對方傳送的報文,那麼就認為對方失效,這時需啟動資源接管模組來接管運 行在對方主機上的資源或者服務。
比如用shell指令碼監測到master的mysql不可用就將主上的heartbeat停掉,這樣就會切換到backup中去
DRBD是透過網路來實現塊裝置的資料映象同步的一款開源Cluster軟體。
Lvs是一個虛擬的伺服器叢集系統,可以實現LINUX平臺下的簡單負載均衡。
keepalived是一個類似於layer3, 4 & 5交換機制的軟體,主要用於 主機與備機 的故障轉移。
高可用web架構: LVS+keepalived+nginx+apache+php+eaccelerator,也常與MySQL資料庫一起使用
]
MMM即Master-Master Replication Manager for MySQL(mysql主主複製管理器)是一套靈活的指令碼程式?用來對mysql replication進行監控和故障遷移?並能管理mysql Master-Master複製的配置 。附帶的工具套件可以實現多個slaves的read負載均衡
HAProxy提供高可用性、負載均衡,比較適合負載特大的web站點。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/26355921/viewspace-1248096/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MySQL高可用方案MHA介紹MySql
- MySQL MHA高可用方案MySql
- MySQL MMM高可用方案MySql
- MySQL Fabric使用介紹01——高可用性HAMySql
- Mysql高可用架構方案MySql架構
- MySQL資料庫高可用方案MySql資料庫
- MySQL高可用MMM方案安裝部署MySql
- MySQL高可用方案之DRBD+MySQL+RHCS(上)MySql
- MySQL高可用方案之DRBD+MySQL+RHCS(下)MySql
- 常見的Mysql十款高可用方案MySql
- MySQL高可用方案的一些思考MySql
- MySQL高可用方案-PXC環境部署記錄MySql
- 常見的高可用MySQL解決方案MySql
- 常見的高可用 MySQL 解決方案MySql
- 高可用之限流-01-入門介紹
- MySQL 同步複製及高可用方案總結MySql
- 常見的五種MySQL高可用方案分析MySql
- Oracle和MySQL的高可用方案對比(一)OracleMySql
- Oracle和MySQL的高可用方案對比(二)OracleMySql
- [MySQL] 從業務層面對MySQL高可用方案進行分解MySql
- 高可用之SkybilityHA簡單介紹-行雲管家
- 常見的高可用MySQL解決方案轉載MySql
- 微服務高可用方案微服務
- 高可用解決方案
- 理解redis高可用方案Redis
- oracle高可用性遷移方案簡介_轉摘Oracle
- MySQL 中常見的幾種高可用架構部署方案MySql架構
- Mysql 5.7 MHA 高可用MySql
- MySQL 高可用淺析MySql
- MySQL高可用淺析MySql
- 高可用 proxysql + mysql MGRMySql
- 容器化redis高可用方案Redis
- 高可用系列文章之三 - NGINX 高可用實施方案Nginx
- ApsaraDBForSQLServerMulti-AZ高可用版資料庫使用介紹SQLServer資料庫
- MySQL高可用方案MHA線上切換的步驟及原理MySql
- MySQL高可用方案MHA的一些總結和思考MySql
- MySql介紹MySql
- 高可用架構設計全面詳解(8大高可用方案)架構