是否有可能根据域名redirectMySQL(tcp)stream量到多个服务器?
我们的DNS设置为将多个子域别名指向一台代理机器。 (运行haproxy和iptables)。 我们希望通过这个代理服务器redirect所有数据库stream量,并将其路由到合适的数据库服务器,而不会偏离标准的MySQL端口。
dev.domain1.com:3306 – > dbDevServer.domain1.com:3306
test.domain1.com:3306 – > dbTestServer.domain1.com:3306
prod.domain1.com:3306 – > dbProdServer.domain1.com:3306
谢谢!
不,这是不可能的,因为MySQL协议确实允许客户端提供期望的主机名到服务器。当客户端连接到为给定的主机名parsing的IP地址时,没有办法根据主机名来路由任意的TCP通信量。
如果协议(例如HTTP或FTP)要求客户机在请求中包含主机名(例如HTTP / 1.1必须使用的主机头),则协议识别应用程序可以根据主机名区分资源。
您可以为Haproxy提供3个虚拟IP地址,并在HAProxy中创build真实IP和testingIP映射。
如果你想负载平衡你的MySQL集群使用Galera