标签:架构模式 限制 -o 模式 基础 指定 自己的 订阅 局限性
面向服务架构(Service-Oriented Architecture)是一种 IT 架构策略。SOA 已经逐渐地成为业界的标准。
因为 SOA 经常和 Web Service 相提并论,认为这两者是等同的,其实不然。虽然两者有很多的关联,但它们是截然不同的两个概念,或者说考虑问题的角度不同。
虽然 SOA 最初的流行离不开 Web Service 的贡献,但如今 SOA 早已超越了 Web Service 的范畴,变成一个独立的设计理念。
【SOA 的局限性】
SOA 主要从系统解构的角度入手,它侧重于将整个应用分解为一系列独立的服务,并指定各种标准和基础设施来使得这些服务易于重用,能够很容易地被各种平台上的应用来使用。但是在服务实际业务时出现了一些问题,因为 SOA 更多地是关注静态的信息,所以不能很好地与动态业务匹配。比如 SOA 不能很好地回答类似下面的一些问题:
比如在一个证券公司,有很完善的交易系统、后台系统、账务系统和头寸管理系统等,当一个客户的下单在交易所执行后,所有的这些系统都应该得到通知,并做出相应的处理。这里面其实包含了几个问题:谁来负责触发这样一个事件,各个系统如何得到通知?如何保证各个系统行动的一致性? SOA 架构由于其关注点的限制,并不能很好地解决上述问题,而这些问题往往又是实际系统非常需要的特性。因此,EDA 与 SOA 的集成引起了人们的注意。
通过引入面向事件的机制,使得系统具备了感知和快速响应业务事件的能力。其实不管是 SOA 还是 EDA 都不是什么新技术,无非是在一些旧的概念上添加了一些新元素。
事件驱动架构(Event-Driven Architecture)
可以从两个方面来理解 EDA:
SOA是一个服务调用另一个服务完成服务之间的交互,服务之间紧耦合;
EDA是一个组件订阅另一个组件的事件消息,根据事件信息更新组件自己的状态,所以EDA架构,每个组件都不会依赖其他的组件;
组件之间仅仅通过topic产生关联,耦合性非常低。
摘自网络
标签:架构模式 限制 -o 模式 基础 指定 自己的 订阅 局限性
原文地址:https://www.cnblogs.com/xdyin/p/10455426.html