(三)mycat的高可用與叢集
HAProxy:
HAProxy提供高可用性、負載均衡以及基於TCP和HTTP應用的代理,支援虛擬主機,它是免費、快速並且可靠的一種解決方案。HAProxy 相比 LVS 的 使用要簡單很多,功能方面也很豐富,免費開源,穩定性也是非常好,可以與 LVS 相媲美。根據官方文件,HAProxy最高支援10G併發,作為軟體級負載均衡,效能強大;一般都採用HAProxy來負載Mysql。
keepalived:
Keepalived軟體起初是專為LVS負載均衡軟體設計的,用來管理並監控LVS集群系統中各個服務節點的狀態,後來又加入了可以實現高可用的VRRP功能。因此,Keepalived除了能夠管理LVS軟體外,還可以作為其他服務(例如:Nginx、Haproxy、MySQL等)的高可用解決方案軟體,採用keepalived實現mysql或者mycat高可用
keepalived + haproxy + mysql主從主主(binlog) 架構叢集和高可用:
採用keepalived保證haproxy的高可用、主節點mysql的高可用,用haproxy負載多個讀節點,binlog實現主從和主主賦值,保持資料同步。上述架構保證了每個節點都是叢集,不會出現單點問題,任何一個環節崩潰宕機都有備用節點實時切換。
採用mycat + haproxy + keepalived + mysql主從:
借用mycat官方指南中圖:
使用mycat實現自動讀寫分離、mysql多節點的負載均衡和高可用,keepalived實現mycat的高可用。
這種方案比較第一種方案更有優勢,使用mycat在配置上更加輕便簡潔,便於維護,減輕運維工作難度,mycat提供強大的分庫分表功能,建議使用mycat實現資料庫的高可用。