在工作中,我们在集中式SQL服务器中有几个数据库应用程序.每当一个应用程序需要处理来自另一个应用程序的数据时,它只是查询它或通过数据库更新它.我相信这是"企业集成模式"一书(Hohpe&Woolf)中描述的"共享数据库"模式.
这些跨数据库依赖性正在给我们带来许多令人头疼的问题.现在最大的问题是我们在SQL服务器上遇到性能问题,并且由于跨数据库依赖性而无法扩展.我认为我们应该做的是从共享数据库模式转向EIP手册中描述的消息传递系统.每个应用程序都将负责所有自己的数据,而其他想要访问该数据的应用程序将通过服务(在消息传递总线上?)获取它.
我建议进行3阶段过渡.
另外,假设您有3个申请; A,B和C.
您还可以将其视为3个单独的过渡:
申请A.
申请B.
申请C.
在此过程中,结果与阶段2结束时的结果相同,并且阶段3可以继续.不同之处在于,专注于一种重构还是专注于应用程序是否更有效率.