我有这个想法:
在每个服务器(他们全部都设置相同)
像MySQL或PostgreSQL这样的免费数据库.
Tomcat 6.x用于托管基于Servlet的Java应用程序
Hibernate 3.x作为ORM工具
Spring 2.5用于业务层
Wicket 1.3.2用于表示层
我将负载均衡器放在服务器前面,并在主负载均衡器出现故障时更换负载均衡器.
我使用Terracotta在服务器之间复制会话信息.如果服务器出现故障,用户应该能够在另一台服务器上继续工作,理想情况就好像什么都没发生一样.剩下的"解决"(因为我实际上没有对此进行过测试,例如不知道我应该使用什么作为负载均衡器)是需要的数据库复制.
如果用户与应用程序交互并且数据库发生更改,则必须将该更改复制到其他服务器计算机上的数据库服务器.我应该怎么做呢?我应该使用MySQL PostgreSQL还是其他东西(理想情况下,由于预算有限,它们是免费的)?上面的其他事情听起来合理吗?
澄清:我集群首先获得高可用性,我希望能够添加服务器并同时使用它们以获得高可扩展性.