这是一个非常愚蠢的问题,但是这里。
我怎么能(而且事实上,我能)得到PHP应用程序来replace它使用的MySQL服务器?
我连接到数据库的PHP行目前是这样的:
$con = mysql_connect('10.0.0.2:3306','name','password') or die('Could not connect to the server!');
有没有办法可以与10.0.0.2和我的其他服务器负载平衡? 谢谢。
一个非常简单的方法:你可以使用一个随机数来select两个连接string,如下所示(这是伪代码,我不会说PHP):
$ran = gen_random(); // assuming range from 0..1 if (ran < 0.5) then $con = database1; else $con = database2;
真正的负载平衡也是可能的,当然,你将不得不检查加载你的数据库服务器,并select较低的负载。
你要非常小心你在这里做什么。 MySQL复制是一个主从过程。 写入从站的任何更新都不会返回给主站,最终会导致数据库不一致。 事实上,迟早你可能最终会破坏复制,然后开始真正的乐趣。 你可以尝试设置某种循环复制,但是最后我读到这个没有人设法让它在生产环境中工作。
无论如何,我可以告诉你,经过正确configuration和优化的单个MySQL数据库服务器可以轻松处理多个Web服务器的stream量(除非Web服务器是真正的动物,而数据库服务器是小型服务器)。
如果您需要一个适当的多主数据库集群,则必须查看其他解决scheme。 AFAIK市场上只有一个适当的多主数据库解决scheme,那就是oracle。
MySQL使用NBCLuster组。 并非所有数据库都支持NBCluster数据库types。 您可以尝试在testing环境中迁移数据以查看会发生什么情况? 然后您可以使用群集环境。
在5.3查看新的mysql驱动程序(mysqlnd)。
或者你可以使用MySQL代理,而不是在PHP中。
干杯