软件架构吧 关注:89贴子:83
  • 0回复贴,共1

事件驱动的软件架构(简介)

只看楼主收藏回复

from: 维基百科
Event-driven architecture (EDA) is a software architecture pattern promoting the production, detection, consumption of, and reaction to events.
事件驱动架构(Event-Driven Architecture, EDA)是一个软件架构模式,核心是事件(event)的生产(production),探测(detection),消费(consumption),以及反应(reaction)
可以将事件看做“状态的重要变化”。比如说,当有人买了一辆车,这辆车的状态就从“待售”变为“已售”。汽车零售商的系统架构就可以根据这一状态变化产生并发布一个事件,然后由架构内的其他应用检测并消费该事件。
在设计和实现一些应用和系统时,为了在松耦合的软件组件和服务间传递事件,尝尝利用此架构模式。一个事件驱动的系统通常包括事件发射器(event emitter,或称作代理,agents),以及事件消费者(consumers,或者槽,sinks)。事件槽需对出现的事件做出及时的反应,但并非一定由事件槽完成这些反应。比如说,事件槽可以只过滤(filter),转换(transform)以及转发(forward)事件到另外一个组件,或者针对该事件提供一个自包含(self-contained)的反应。第一类事件槽可以是基于传统组建,比如面向消息的中间件,而第二类事件槽(自包含的在线反应)则需要一个更合适的交易执行框架(transactional executive framework)。基于事件驱动的架构的应用和系统的反应更优,因为在设计上,事件驱动的系统更适于不可预测以及异步的环境。
事件驱动的架构可以作为面向服务的架构的补充,因为服务可以被到来的事件激活。当事件槽无法提供一个自包含的执行者时,这个范例比较有用。
SOA2.0通过提升之前未知的因果关系,使得所蕴含的SOA和EDA架构包含更广,更健壮。新的商业智能模式(business intelligence pattern)通过将增值信息注入之前没有实现的已知模式,激发了更自主的人工或者自动的处理,极大的增加了企业价值。
可计算机械装置以及传感装置(例如传感器,促进器,控制器)可以检测物体或者条件状态的改变,并创建服务或系统可处理的事件。


IP属地:上海1楼2013-01-08 21:55回复