你的SOA已经使用了EDA和CQRS吗?
来自2013年4月底的 IDDD Tour 演讲:你的SOA已经使用了EDA和CQRS吗?(What SOA do you have (with extended EDA and CQRS material)),谈论了DDD + CQRS +EventSourcing等面向领域的新思想和新技术如何对传统架构发展。
下面我简要对这篇长达274页的PPT进行大概翻译并阐述自己观点如下:
现在SOA这么多年实践下来,面临的问题:
1.碎片化
2.开发和维护成本很高
3.服务无法被重用。
4.当你认为SOA是整合利器时,它自身成了问题根源。
5.没有人再愿意开发和维护服务
6.系统性能相当差。
老体系的SOA风格如下:
当一个客户希望买到一件裙子时,产生订单的服务将涉及设计部门 客户部门 财务部门和生产部门等,比如检查生产部门是否有类似原料等,然后才能创建一个订单。如下图,注意图中箭头方向,订单服务是主动地去和多个部门的服务交互,如果其中一个子服务没有准备好,将导致业务堵塞等待。