在2个webservices

时间:2017-07-08 21:29:49

标签: database postgresql web-services architecture restful-architecture

我们有一个Django应用程序(REST webservice1)和一个postGres数据库(db1)备份它。

我们还有另一个REST webservice2和它自己的db2。

db1中有一个table1。让我们说这是原始的真实点(原件)。 table1创建/更新/删除调用来到webservice1。每当这些操作发生在webservice1中时,它就会修改table1中的数据并发出事件(进入AWS kinesis。推送到kinesis会重试,但可能会失败),如

  • item_created
  • item_deleted
  • item_modified

我们希望将table1的数据从db1迁移到db2(并尽可能保持它们同步)。 webservice2不应该从其端点公开任何与table1相关的陈旧数据。 webservice2可以选择向webservice1查询table1数据,但整个想法是减少webservice1上db查询的负载。

我想知道什么是最好/最简单的方法来保持table1的内容在webservice2中几乎是奇偶校验。

  • 我们可以使用任何postgres特定技术吗?像一个跟踪table1中的changelog并继续将数据推送到webservice2的exe?
  • webservice2可以监听事件并从webservice1查询特定数据并将其保存在其数据库中。如果这些流事件丢失,就会出现问题。

邀请建议。

1 个答案:

答案 0 :(得分:0)

查看热备用服务器进行主/从复制,它几乎是为这个用例设计的https://www.postgresql.org/docs/current/static/high-availability.html

相关问题