在与...类似的行中
http://serverfault.com/questions/35899/mysql-5-1-replication-topologies-multi-master
我想知道的是那里是否有任何非常好的MySQL 代理?我平台的一部分是“共享托管”环境,客户通常会配置(例如)他们的应用程序以与“mysql4-7.db.domain.tld”对话。
不幸的是,这使得升级成为一种“全有或全无”的方法,并且测试很棘手。
我想做的是将每个人都指向一组高度可用的代理,让它们处理身份验证并将查询传递给适当的数据库服务器。
我希望看到的功能;
- 可从数据库配置
- 某种共享状态,因此我们可以进行无缝故障转移
- 不完全拖累性能
- 额外的日志/指标来识别重度用户/数据库,应该是可能的,因为代理会看到所有的查询都通过?
- 能够监听多个 IP 地址和端口
最终目标是能够一次将用户转移到一个数据库上,这样我们就可以分阶段处理升级,而且大多数情况下,客户不会注意到或关心。请记住,我们不为这些人编写应用程序,也不提供“深度”技术支持(应用程序配置级别) ,我们的一些用户非常无能。因此,这种思路;)
我考虑过为每个数据库创建 DNS 记录,类似于:
databasename.db.domain.tld
然后将它们指向正确的数据库服务器,我们确实有一个约束,即数据库名称(跨所有数据库平台)必须是唯一的......有没有更好的解决方案?
很高兴回答问题。谢谢你的时间!