我有一个在 Multi-Tenancy 架构上运行的 SpringBoot 应用程序。
我有两个数据库 Admin 和 Client(都是 MySQL),并且这两个数据库都有一个 User 表
客户端可以将用户添加到用户表中,但我需要它们在管理数据库的用户表中同步。
有什么办法可以实现这个目标吗?
我读过有关 Flyway 迁移的内容,但我认为它更适用于数据库架构更改而不是值。
请忽略我的错误,因为这是我的第一个问题,任何帮助将不胜感激。
最佳答案
这看起来像是解决您问题的方法:
SymmetricDS 是在多个数据库之间复制关系数据库表的软件。它还可用于在多个主机之间复制文件和目录。它使用轻量级、基于 Web 的协议(protocol)来发送和接收数据,这使得它可以轻松地与防火墙配合使用。复制在后台异步完成,允许在离线模式下更改数据。它支持大多数商业和开源数据库平台。
它是如何工作的? 数据库中安装触发器以保证捕获数据更改。这意味着应用程序可以像往常一样继续使用数据库,而无需任何特殊的驱动程序软件。触发器被编写得尽可能小且高效。数据的路由和同步是在数据库外部的 SymmetricDS 进程中完成的。
SymmetricDS 支持许多数据库,并且可以跨不同数据库进行复制,包括 Oracle、MySQL、MariaDB、PostgreSQL、MS SQL 等等。
关于java - Spring Boot Multi-Tenancy 架构中的表同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62631762/