我一直在为一些数据库服务器开发一些高可用性方案,并检查了 MaxScale 和 HAProxy,它们看起来都很有趣,但问题如下。设置 MaxScale 时一切顺利,直到我发现我看不到在同一个 MaxScale 实例上创建多个集群的方法,但这是必须使用一个 MaxScale 实例控制的数据库服务器数量的必要条件。
在设置 MaxScale 时有没有办法实现多个集群,或者这只是 MaxScale 中没有实现的东西?
谢谢您的帮助
我一直在为一些数据库服务器开发一些高可用性方案,并检查了 MaxScale 和 HAProxy,它们看起来都很有趣,但问题如下。设置 MaxScale 时一切顺利,直到我发现我看不到在同一个 MaxScale 实例上创建多个集群的方法,但这是必须使用一个 MaxScale 实例控制的数据库服务器数量的必要条件。
在设置 MaxScale 时有没有办法实现多个集群,或者这只是 MaxScale 中没有实现的东西?
谢谢您的帮助
要在一个 MaxScale 中使用多个集群,只需定义多个服务器、监视器、服务和侦听器。以下是将一个集群用作服务的示例:
[server1]
type=server
address=127.0.0.1
port=3000
protocol=MariaDBBackend
[server2]
type=server
address=127.0.0.1
port=3001
protocol=MariaDBBackend
[Cluster-1-Monitor]
type=monitor
module=mariadbmon
servers=server1,server2
user=maxuser
passwd=maxpwd
monitor_interval=5000
[Cluster-1-Router]
type=service
router=readwritesplit
servers=server1,server2
user=maxuser
passwd=maxpwd
[Cluster-1-Listener]
type=listener
service=Cluster-1-Router
protocol=MariaDBClient
port=4006
这将在端口 4006 上公开读写拆分服务,该服务将对服务器server1
和server2
.
要定义另一个,只需添加:
这样,您可以公开连接到不同集群的多个端口。例如,一个集群可以在端口 4006 上侦听,另一个在 4007 上侦听。这两个可以用于将两个不同的应用程序连接到两个不同的集群。