java - Spring Boot Multi-Tenancy 架构中的表同步

标签 java mysql spring-boot architecture multi-tenant

我有一个在 Multi-Tenancy 架构上运行的 SpringBoot 应用程序。

我有两个数据库 Admin 和 Client(都是 MySQL),并且这两个数据库都有一个 User 表

客户端可以将用户添加到用户表中,但我需要它们在管理数据库的用户表中同步。

有什么办法可以实现这个目标吗?

我读过有关 Flyway 迁移的内容,但我认为它更适用于数据库架构更改而不是值。

请忽略我的错误,因为这是我的第一个问题,任何帮助将不胜感激。

最佳答案

这看起来像是解决您问题的方法:

SymmetricDS 是在多个数据库之间复制关系数据库表的软件。它还可用于在多个主机之间复制文件和目录。它使用轻量级、基于 Web 的协议(protocol)来发送和接收数据,这使得它可以轻松地与防火墙配合使用。复制在后台异步完成,允许在离线模式下更改数据。它支持大多数商业和开源数据库平台。

它是如何工作的? 数据库中安装触发器以保证捕获数据更改。这意味着应用程序可以像往常一样继续使用数据库,而无需任何特殊的驱动程序软件。触发器被编写得尽可能小且高效。数据的路由和同步是在数据库外部的 SymmetricDS 进程中完成的。

SymmetricDS 支持许多数据库,并且可以跨不同数据库进行复制,包括 Oracle、MySQL、MariaDB、PostgreSQL、MS SQL 等等。

https://www.symmetricds.org/docs/faq

关于java - Spring Boot Multi-Tenancy 架构中的表同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62631762/

相关文章:

ssl - Spring Boot - 启用和配置 SSL 证书

java - 如何在不下载的情况下从 url 读取 pdf?

java - 快速局部图像凸起效果

java - 检查 Java 数组中的总和

php - 使用 php 将 xml 数据转换为 mysql 插入/更新查询

java - 如何在 spring boot 中拥有线程安全 Controller

java - 不知道如何解决java程序中的异常

java - Mysql流式结果集和jOOQ fetchLazy

mysql - 如何使用 case 语句对数据进行排序 - 使用 MySQL?

mongodb - Docker为MongoDB ReplicaSet撰写