Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Database 在2个Web服务之间同步postgres数据库表_Database_Postgresql_Web Services_Architecture_Restful Architecture - Fatal编程技术网

Database 在2个Web服务之间同步postgres数据库表

Database 在2个Web服务之间同步postgres数据库表,database,postgresql,web-services,architecture,restful-architecture,Database,Postgresql,Web Services,Architecture,Restful Architecture,我们有一个Django应用程序(RESTWebService1)和一个postGres数据库(db1)来备份它 我们还有另一个RESTWebService2和它自己的db2 db1中有一个表1。让我们说这是真理的原点(原文)。表1创建/更新/删除对webservice1的调用。每当这些操作在webservice1中发生时,它都会修改表1中的数据,并发出事件(进入AWS动画。推送动画会重试,但可能会失败),如 已创建项 项目(已删除) 项目(u)已修改 我们希望将table1的数据从db1迁移

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

我们还有另一个RESTWebService2和它自己的db2

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

  • 已创建项
  • 项目(已删除)
  • 项目(u)已修改
我们希望将table1的数据从db1迁移到db2(并尽可能保持它们的同步)。webservice2不应该从其端点公开任何与table1相关的过时数据。webservice2可以选择查询webservice1中的table1数据,但整个想法是减少webservice1上的db查询负载

我想知道在webservice2中保持表1的内容几乎相等的最佳/最简单的方法是什么

  • 我们可以使用哪些博士后特有的技巧?像跟踪表1中的changelog并将数据推送到webservice2的exe
  • webservice2可以侦听事件并从webservice1查询特定数据,并将其保存在其数据库中。如果这些流事件丢失,问题就会出现

请提供建议。

查看热备用服务器以执行主/从复制,它非常适合此使用情形

查看热备用服务器以执行主/从复制,它基本上是为这个用例设计的

您可能可以在两个数据库之间使用单表复制。您的webservice 2是否仅用于查询同步表中的数据?是的,目前我们只希望webservice 2公开表1中的数据。以后我们可能需要更多的smth。您可能可以在两个数据库之间使用单表复制。您的webservice 2是否仅用于查询同步表中的数据?是的,目前我们只希望webservice 2公开表1的数据。以后我们可能需要更多的smth。