MySQL Router是一款數據庫輕量中間件,提供了應用程序與后端數據庫的透明路由,是mysql用來實現負載均衡和高可用功能,擁有高可用和擴展性的功能。
功能介紹
MySQL Router 是集群路由器的一部分,是輕量級的中間件,提供透明的應用程序和后端MySQL服務器之間的路由。它可以用于各種各樣的用例,例如通過高效地將數據庫通信路由到適當的后端MySQL服務器,從而提供高可用性和可伸縮性。可插入的體系結構還允許開發人員擴展MySQL路由器來定制用例。更多細節關于MySQL InnoDB集群路由器的一部分
故障轉移
通常,一個高度可用的MySQL設置由一個主主機和多個奴隸組成,這取決于應用程序處理故障轉移,以防MySQL主機變得不可用。使用MySQL路由器,應用程序連接將透明地基于負載平衡策略路由,而不實現自定義應用程序代碼。
負載平衡
MySQL Router 通過在一個服務器池中分配數據庫連接,提供了額外的可伸縮性和性能。例如,如果您有一組復制的MySQL服務器,MySQL路由器可以以循環的方式將應用程序連接分發給它們。
插件式體系結構
MySQL Router 的可插入體系結構允許MySQL開發人員輕松地擴展產品的附加功能,并提供MySQL用戶創建自己定制插件的能力,提供了無限的可能性。MySQL路由器目前有許多核心插件,包括:
連接路由插件,它基于連接的路由,這意味著它將MySQL數據包轉發給后端服務器而不檢查或修改它們,從而提供*大吞吐量。
元數據緩存插件,它提供了透明的客戶端負載均衡、路由、和故障轉移到群復制和InnoDB集群。
軟件特色
上手快,很容易配置
較為穩定,性能中沒有遇到什么問題
插件式的架構允許用戶進行額外功能的擴展
缺點:
僅支持簡單的負載均衡功能
高可用功能有待進一步測試
雖然支持Fabric元數據,但是不支持分庫分表(不得不說是一個遺憾)
白名單,SQL統計功能,防火墻功能缺失
需要gcc 4.8以上版本支持,老系統編譯比較麻煩些
配置文件
[DEFAULT]
logging_folder = /var/log/mysqlrouter
[logger]
level = INFO
[routing:failover]
bind_address = 10.166.224.50
bind_port = 7001
max_connections = 1024
mode = read-write
destinations = 10.166.224.33:3310,10.166.224.34:3310
[routing:balancing]
bind_address = 10.166.224.50
bind_port = 7002
connect_timeout = 3
max_connections = 1024
mode = read-only
destinations = 10.166.224.33:3310,10.166.224.34:3310
通過該配置文件啟動MySQL Router會監聽兩個端口10.166.224.50:7001和10.166.224.50:7002。10.166.224.50:7001是一個高可用的端口(mode=read-write),通過7001的端口訪問MySQL Router中間件會首先將請求發送到服務器10.166.224.33:3310,如果確定該服務器宕機,則會發送到服務器10.166.224.34:3310。10.166.224.50:7002是一個負載均衡的端口,每個都請求可以將通過roundrobin的方式發送到destiantions對應的MySQL服務器。通過MySQL Router用戶可以快速實現一個簡單的帶有讀寫分離的高可用集群。MySQL Router甚至可以鏈接MySQL Fabric的元數據庫,具體可查看MySQL Router的相關文檔。
騰訊視頻官方版 | 45.34MB
愛奇藝視頻官方正式版 | 35.10MB
暴風影音最新版下載 | 50.3MB
酷狗音樂2022下載 | 37MB