![不同数据结构的数据库实时同步](https://linux22.com/image/783477/%E4%B8%8D%E5%90%8C%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E7%9A%84%E6%95%B0%E6%8D%AE%E5%BA%93%E5%AE%9E%E6%97%B6%E5%90%8C%E6%AD%A5.png)
我正在重写一个旧版 Web 应用程序。在某个时间点,我希望新旧应用程序能够在具有不同结构的数据库(均为 mysql)上并行工作。麻烦的是数据库需要同步,最好是实时同步。因此,如果在旧应用程序中创建了新用户,我希望他也可以在新应用程序中创建。
有人遇到过类似的问题吗?我正在考虑在这两个数据库之间添加某种中间件,它可以在架构之间“转换”插入和更新,但也许还有其他方法?
欢呼并感谢 :)
答案1
我认为唯一合理的选择是抽象应用程序中的所有数据库操作,以便它们可以更新两个数据库。
数据库结构通常与业务逻辑耦合。因此,如果您实现单独的中间件,那么该中间件可能需要从应用程序中复制业务逻辑。
当应用程序业务逻辑更新而中间件未更新时,这增加了产生错误的可能性。