這篇文章主要介紹了MySQL Router的案例分析,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。
MySQL Router用于取代MySQL Proxy,建議MySQL Router與應用程序部署在一臺機器。應用程序像訪問MySQL一樣訪問MySQL Proxy,由MySQL Proxy將數據轉發給后端的MySQL。支持各種操作系統。
工作模式
read-write
用于多主服務器,個人感覺也可用于主備,用于多主可以避免腦裂問題,但實際上多主只有一個為Active狀態。并且MySQL的主從和多主復制恢復起來都比較麻煩,需要手工操作。相比之下MySQL Group Replication提供了更簡單的集群自動維護方案。
所有請求被發送到第一個服務器,只在第一個服務器宕機后才會使用后續的第二個服務器。
不支持宕機服務器恢復檢測
以下兩種情況下將無法使用
從先宕機,然后恢復,主再宕機
主先宕機,然后恢復,從再宕機
[routing:example_strategy] bind_port = 7001 destinations = master1.example.com,master2.example.com,master3.example.com mode = read-writ
read-only
用于路由從服務器集群。
每個請求用輪詢方式訪問所有服務器。如果一個服務器宕機,會嘗試使用下一個服務器。如果所有服務器宕機,路由將退出。重新可用的服務器會被按照原來的順序重新加入到可用列表
[routing:ro_route] bind_port = 7002 destinations = slave1.example.com,slave2.example.com,slave3.example.com mode = read-only
啟動
mysqlrouter --config=/path/to/file/my_router.ini
需要將數據庫連接池的maxStatements=0設置為0,否則當主機宕機后,連接池將無法在備機上找到對應的Statement而報錯。
性能
遠高于MySQL Proxy,相比較于直連MySQL性能損失很小。
感謝你能夠認真閱讀完這篇文章,希望小編分享MySQL Router的案例分析內容對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。