Database 在应用程序中更新实体时更新另一个数据库的高效设计
我有一个应用程序(appa),它使用orientdb(DB#1)作为数据库。现在我们正在开发另一个应用程序(AppB),它使用PostgreSQL(DB#2)作为数据库 我们现在有一个要求,即我们需要在应用程序“B”中列出应用程序“a”的几个实体,并允许用户在应用程序B中修改这些实体。在应用程序“B”中对应用程序“a”的实体执行的所有更改都应反映在DB#1中。在与团队内部进行了一系列讨论之后,我们确信可以立即将所需的实体数据从db#1迁移到db#2,然后使用在db#1中创建/更新的记录动态更新db#2,反之亦然。 有人能提出有效的方法来保持db#1和db#2的同步吗 注:Database 在应用程序中更新实体时更新另一个数据库的高效设计,database,postgresql,database-design,architecture,orientdb,Database,Postgresql,Database Design,Architecture,Orientdb,我有一个应用程序(appa),它使用orientdb(DB#1)作为数据库。现在我们正在开发另一个应用程序(AppB),它使用PostgreSQL(DB#2)作为数据库 我们现在有一个要求,即我们需要在应用程序“B”中列出应用程序“a”的几个实体,并允许用户在应用程序B中修改这些实体。在应用程序“B”中对应用程序“a”的实体执行的所有更改都应反映在DB#1中。在与团队内部进行了一系列讨论之后,我们确信可以立即将所需的实体数据从db#1迁移到db#2,然后使用在db#1中创建/更新的记录动态更新d
- 动态钩子(),它在模式级别工作,而不是跨数据库工作
- Java hooks(),这需要您创建一个jar并将其放置在orientdb的lib文件夹中。我们排除了此选项,因为我们有多个orientdb实例运行在不同的区域,这意味着每次更新jar时,我们都需要更新oriendb的所有实例,调试可能会很困难,因为此jar在其中作为子进程运行oriendb
这是微服务架构中出现的一种经典模式,其中每个微服务应用程序都有自己的数据库,然后需要将该数据传递给其他服务。有多种方法:
希望这能有所帮助。这是微服务体系结构中出现的一种经典模式,每个微服务应用程序都有自己的数据库,然后需要将数据传递给其他服务。有多种方法:
希望这有帮助。
你也可以考虑使用一个基于“方法”的解决方案,比如用一个外部工具。p>
其原理是在数据库的bin日志中插入一些内容,这些内容将在数据更改时触发事件,然后您将实现监听器,负责在第二个数据库中复制更改。这种方法避免了对不同应用程序的显式耦合。
,您也可以考虑使用一个基于“方法”的解决方案。p>
其原理是在数据库的bin日志中插入一些内容,这些内容将在数据更改时触发事件,然后您将实现监听器,负责在第二个数据库中复制更改。这种方法避免了显式耦合不同的应用程序。您考虑数据库级集成的具体原因是什么?您是否考虑过通过web服务或消息传递(jms)在应用程序级别进行同步?您考虑数据库级别集成的具体原因是什么?您是否考虑过通过web服务或消息传递(jms)在应用程序级别进行此同步?感谢您快速准确的回答!!作为后续问题,假设我正在使用Kafka,两个应用程序都以发布者和订阅者的身份订阅了不同的主题,以便两个应用程序都将其实体更改发布为事件,并并行使用事件(实体更改)