簡體   English   中英

Kubernetes 上的 ProxySQL 與 MaxScale

[英]ProxySQL vs MaxScale on Kubernetes

我希望在 Kubernetes 上為我們的 MariaDB 數據庫設置一個寫入代理。 我們目前遇到的問題是我們的 3 主 galera 集群設置上只有一個寫入主。 因此,即使我們的 pod 復制正確,如果我們的第一個節點出現故障,那么我們的其他兩個 master 最終也會失敗,因為它們無法被寫入。

我看到這是使用 ProxySQL 或 MaxScale 進行寫入代理的一個可能選項,但我不確定我是否正確閱讀了它們的用途。 我是否有正確的想法希望在 Kubernetes 上部署這兩個應用程序/服務中的任何一個來解決我的問題? 我能寫到集群中的任何一個 Master 嗎?

只要您使用readwritesplit路由器和galeramon監視器,MaxScale 就會處理選擇要寫入的服務器。

這是 MaxScale 的示例配置,它對讀取進行負載平衡,但將寫入發送到一個節點:

[maxscale]
threads=auto

[node1]
type=server
address=node1-address
port=3306

[node2]
type=server
address=node2-address
port=3306

[node3]
type=server
address=node3-address
port=3306

[Galera-Cluster]
type=monitor
module=galeramon
servers=node1,node2,node3
user=my-user
password=my-password

[RW-Split-Router]
type=service
router=readwritesplit
cluster=Galera-Cluster
user=my-user
password=my-password

[RW-Split-Listener]
type=listener
service=RW-Split-Router
protocol=mariadbclient
port=4006

一次只在一個節點上進行寫入的原因是因為在多個 Galera 節點上進行寫入不會提高寫入性能,並且在提交事務時會導致沖突(應用程序似乎很少處理這些)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM