使用免费数据库和带有Spring和Hibernate Web应用程序的Java进行冗余的数据库复制

6 java mysql database postgresql redundancy

我有这个想法:

每个服务器(他们全部都设置相同)

我将负载均衡器放在服务器前面,并在主负载均衡器出现故障时更换负载均衡器.

我使用Terracotta在服务器之间复制会话信息.如果服务器出现故障,用户应该能够在另一台服务器上继续工作,理想情况就好像什么都没发生一样.剩下的"解决"(因为我实际上没有对此进行过测试,例如不知道我应该使用什么作为负载均衡器)是需要的数据库复制.

如果用户与应用程序交互并且数据库发生更改,则必须将该更改复制到其他服务器计算机上的数据库服务器.我应该怎么做呢?我应该使用MySQL PostgreSQL还是其他东西(理想情况下,由于预算有限,它们是免费的)?上面的其他事情听起来合理吗?

澄清:我集群首先获得高可用性,我希望能够添加服务器并同时使用它们以获得高可扩展性.

小智 4

由于您已经在使用Terracotta,并且您认为第二个数据库是一个好主意(同意),因此您可能会考虑扩展 Terracotta 的角色。我们有客户使用 Terracotta 进行数据库复制。这是一个简短的示例/描述,但我认为他们已经停止支持该产品的客户:

http://www.terracotta.org/web/display/orgsite/TCCS+异步+数据+复制