rea*_*Jim 8 legacy-code legacy-database cqrs
我正在寻找将具有清晰域模型的相对较新的基于Web的应用程序转换为更多CQRS样式系统.我的新应用程序本质上是旧的现有系统的增强替代品.
我组织中的现有系统共享一组公共数据库,这些数据库由遍布公司的孤岛中的无数应用程序(通过混沌方法开发)进行更新.(就目前而言,我相信公司中没有任何一个人可以识别所有人.)
因此,我的问题是关于我的应用程序的读取模型.由于各种状态更改,一般用户数据等由我控制之外的其他应用程序更新,处理构建读取模型的最佳方法是什么,以便我可以处理外部更新,但仍然保持相对简单的事情?
到目前为止我考虑过以下几点:
关于如何处理这个问题的一般共识是什么?认为如果不从头开始完全重写所有内容,我可以为遗留系统带来秩序,这是愚蠢的吗?
小智 1
我已经成功地使用了选项#1。创建视图来降低数据的士气以创建读取模型是一个可行的选择,具体取决于写入数据库的复杂性。意思是,如果大多数开发人员都可以理解它是相对简单的连接,那么我会仔细看看它是否适合您。我会小心这些视图中的过于复杂的内容。
另一件需要考虑的事情是定期轮询来构建和更新,类似于传统的报告数据库。尽管与通知相比并不是最佳选择,但取决于您的读取模型的陈旧程度,这也可能是一个值得考虑的选项。