在类似的路线…
http://serverfault.com/questions/35899/mysql-5-1-replication-topologies-multi-master
我想知道的是,MySQL是否有非常好的代理? 我的平台的一部分是“共享主机”环境,客户通常configuration(作为例子)他们的应用程序目前与“mysql4-7.db.domain.tld”对话。
不幸的是,这使得升级成为一个“全部或全部”的方法,testing是棘手的。
我想要做的是将每个人都指向一组高度可用的代理,让这些代理处理身份validation并将查询传递给相应的数据库服务器。
我很想看的function;
最终目标是能够将用户同时移动到单个数据库中,因此我们可以分阶段处理升级,而且大多数情况下不需要客户注意或关心。 请记住,我们不为这些人编写应用程序,也不提供“深度”的技术支持(到应用程序configuration的级别),而且我们的一些用户很笨。 因此,这一思路;)
我曾考虑过为每个数据库创buildDNSlogging,类似于:
databasename.db.domain.tld
然后指出那些在正确的数据库服务器,我们确实有一个约束,数据库名称(跨所有数据库平台)必须是唯一的…有没有更好的解决scheme?
很高兴回答问题。 谢谢你的时间!
mysqlproxy不幸的是性能成本 。 但是你可以在其中编写相当先进的东西 。 也许你只是在洗牌dbs时暂时使用它。
我只用它在testing环境,我没有运行在生产。
使用DNS解决scheme的一种便宜和令人愉快的方式是将特定于帐户的某些内容包含在db名称中。 客户不会对一个帐户有任何重复的数据库名称的期望,这很容易产生,因为您必须通过您的供应系统获得可供客户使用的清单。
如果你走这条路线,我会build议使用一些永远不会改变的账号,比如账号(而不是pipe理界面login名)。 否则,如果您因任何原因必须更改名称,则必须到处更新DNS,或者有一些系统可以在合理的时间内对旧名称进行祖父。