使用Spring 3配置两个PostgreSQL数据库(故障转移机制)

3

我正在使用Tomcat JDBC API(org.apache.tomcat.jdbc.pool.DataSource)从Spring配置文件连接到我的PostgreSQL数据库。我收到了一个新的要求,需要配置两个数据库作为故障转移机制,就像当一个数据库不可用时,应用程序应自动切换到另一个数据库。

<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource"
        destroy-method="close">
        <property name="driverClassName" value="org.postgresql.Driver" />
        <property name="url" value="jdbc:postgresql://localhost/dbname?user=postgres" />
        <property name="username" value="postgres" />
        <property name="password" value="postgres" />
        <property name="maxActive" value="5" />
        <property name="maxIdle" value="5" />
        <property name="minIdle" value="2" />
        <property name="initialSize" value="2" />
    </bean>

有人能否建议如何使用Spring配置文件来实现这个功能?
1个回答

2
正常情况下,使用虚拟IP地址(可能进行转发),检查活动情况,采用“射杀另一个节点”的方法和适当的故障转移来完成。如果您想避免数据丢失,Spring绝对不是解决方案。
以下是一些建议:
  1. 2ndquadrant的repmgr可以为您管理很多过程。
  2. 使用相同的硬件和操作系统以及流式复制。
  3. 使用虚拟IP地址等。 使用心跳机制通过rempgr触发故障转移
因此,从这个角度来看,您的Spring应用程序无需重新配置。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接