分布式数据库的Java Web应用程序

时间:2013-09-17 06:52:07

标签: java database tomcat distributed

在基于Apache Tomcat的Java Web应用程序中,当我提交表单时,应将数据插入本地数据库和远程数据库中。应该存储/保存数据,如果数据发送后如何不响应远程数据库。发件人应该反复尝试将数据发送到远程数据库,直到接收器成功响应。为此,我应该使用哪些API(开源)?提前谢谢。

1 个答案:

答案 0 :(得分:0)

有几个数据库会自动镜像表(通常称为群集)。

但它们增加了复杂性。

此方案的一个好方法是添加一个或多个“传输”表,其中包含原始记录或引用的副本以及“传输状态”列。

然后,您需要一个查看这些表的任务,并读取状态为“new”的所有行。将行添加到远程数据库后,将状态更新为“完成”。

这里的一个重要部分是状态为“new”的行可能已经存在于远程数据库中。发生这种情况时,数据应该相同,因此您可以跳过它们。

此过程的原因:

  1. 如果因任何原因中止,它会自行治愈。
  2. 可以随时中断,不会造成永久性损坏(如损坏的数据)。
  3. 您可以传输复杂的数据结构(即来自不同表的多行),而无需进行复杂的错误处理。你可能只需要在“已经远程存在的新行”中使用一些额外的逻辑,但大多数时候,标准“已经存在时完成”就足够了。
  4. 这个过程很简单,很难打破。