在工作中,我们在一个集中式 SQL 服务器中有几个带有数据库的应用程序。每当一个应用程序需要处理来自另一个应用程序的数据时,它只是通过数据库查询或更新它。我相信这是 Enterprise Integration Patterns 一书(Hohpe & Woolf)中描述的“共享数据库”模式。
这些跨数据库的依赖让我们很头疼。目前最大的问题是我们在 SQL 服务器上遇到了性能问题,并且由于跨数据库依赖关系而无法横向扩展。我认为我们应该做的是从共享数据库模式转向 EIP 书中描述的消息传递系统。每个应用程序都将负责它自己的所有数据,而其他想要访问该数据的应用程序将通过服务(在消息总线上?)获取这些数据。
请您参考如下方法:
我建议进行 3 相转换。
另外,假设您有 3 个应用程序; A、B 和 C。
您还可以将其视为 3 个单独的过渡:
此时过程中的结果与阶段 2 结束时的结果相同,可以继续进行阶段 3。区别仅在于专注于一种重构还是专注于应用程序是否更有效率。




