比方说,我有在Tomcat上运行的Spring框架应用程序,并使用MySQL数据库:
在这种情况下,最好的解决scheme是什么,可以提供社交性(价格/性能/整合时间)?
更确切地说:在Web Load Balancer框中会出现什么内容,以及谁应该成为tomcat Web服务器的集群? “数据库负载均衡器”框中将会出现什么内容?数据库服务器应如何聚集? 如果可能的话,具体的技术集成链接将会有很大的帮助。
对于网页负载平衡,有多种解决scheme,开源和付费,我个人曾经使用cisco负载平衡器(CSM和ACE)和F5和他们一样(但这些解决scheme可能会变得昂贵)。 有多个开源的,想到的是http://www.linuxvirtualserver.org/
对于mysql的负载平衡,你可以看看master到msyql的master复制。 看看: http : //www.howtoforge.com/mysql_master_master_replication 。 我过去为一个项目所做的,我有3个Web服务器serverfarm后面大IP(F5),他们都谈到一个MySQL服务器。 而我有完全相同的设置在不同的网站,并且两个MySQL服务器有主要复制。 因此,用户将使用所有的Web服务器和数据库服务器,如果其中一台数据库服务器出现故障,则该站点上的Web服务器场将closures,用户只能使用其他站点。 (DNS故障转移和多站点监视和故障转移监视)。 您可以使用全局负载平衡器,如果您的预算更加细化。
普通的MySQL没有负载平衡选项,但是MySQL集群没有。
我build议使用MySQL Cluster来pipe理多个MySQL实例。
然后,您可以使用MySQL Connector / J以透明地负载平衡JDBC URL。 请参阅http://dev.mysql.com/doc/ndbapi/en/mccj-using-connectorj.html
PS:我投票把这个问题移到ServerFault.com。
我不会推荐使用MySQL群集。 我从来没有见过它performance良好,并没有崩溃很多。 没有使用它在一段时间(因为它没有真正的工作一年左右)。
简单地使用一个主从与奴隶。 在slave上执行你的读操作(除非你需要读取你自己的写操作或当前的ms数据)。 如果这不足以满足你的需求(你必须写很多)。 现在是看分片的时候了。
另一个select,如果你的应用程序允许它(或可以变成允许