
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
事件驱动架构是目前大多数软件开发程序员都在学习和应用的一个编程开发架构方法,而本文我们就再来了解一下,事件驱动架构模式基础知识分享。
事件驱动架构(EventDrivenArchitecture)是一个流行的分布式异步架构模式,可以用来设计规模很大的应用程序。基于这种架构模式应用可大可小。它由高度解耦的,单一目的的事件处理组件组成,可以异步地接收和处理事件。
一个事件驱动系统地由事件消费者和事件产生者组成,事件消费者向事件管理器订阅事件,事件产生者向事件管理器发布事件。当事件管理器从事件产生者那接收到一个事件时,事件管理把这个事件转送给相应的事件消费者。如果这个事件消费者是不可用的,事件管理者将保留这个事件,一段间隔之后再次转送该事件消费者。
关键概念解释
事件:系统或组件的状态发生变化时,系统层发出的通知。
解耦方式:每个对象都通过与中间件(MediatororBroker)实现与外界的沟通,而不是相互依赖(迪米特法则)。
通讯方式:以消息为载体、通过中间件传递通讯。
架构考量
事件驱动架构模式实现起来相对复杂,主要是由于它的异步和分布式特性。这可能会带来一些分布式的问题,比如远程处理的可用性,缺乏响应,broker重连等问题。
1、分布式的异步架构
事件处理器之间高度解耦,软件的扩展性好,事件处理器可以独立地加载和卸载,容易部署,同时性能较好,因为事件的异步本质,软件不易产生堵塞。
2、对于单一的逻辑缺乏原子事务
此模式需要将原子事务交给一个事件处理器执行,跨事件处理器的原子事务是很困难的,很难进行回滚操作。同时对于事件处理器的创建,维护和管理比较困难,事件通常有特殊的约定(数据值和格式)。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。