mysql router怎么樣

mysql router用于取代mysql proxy,建議mysql router與應用程序部署在一臺機器。應用程序像訪問mysql一樣訪問mysql proxy,由mysql proxy將數據轉發給后端的mysql。支持各種操作系統

mysql router怎么樣

工作模式

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性能損失很小。

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享