文章目录
作者:禅与计算机程序设计艺术
1.简介
随着云计算、大数据、IoT等技术的兴起,事件驱动架构正在成为主流架构模式。在事件驱动架构中,事件源产生事件,事件经过多个处理单元进行处理,最后得到结果的过程被称作事件处理流程。
事件驱动架构通常由事件生成器(Event Generator)、事件过滤器(Event Filter)、事件路由器(Event Router)、事件转换器(Event Transformer)、事件分发器(Event Distributor)、事件消费者(Event Consumer)组成。事件生成器负责产生事件,可以是定时生成,也可以是消息队列接收到消息触发;事件过滤器根据条件过滤掉一些不符合要求的事件,比如发送失败的邮件;事件路由器将符合条件的事件发送给指定目标;事件转换器对事件进行转换后再送入下一个环节;事件分发器将事件发送给多个订阅者;事件消费者消费事件并处理结果。
在事件驱动架构中,异步编程和并发编程都扮演着重要角色。其中,异步编程又分为基于回调函数的异步编程和基于Future/Promise的异步编程。基于回调函数的异步编程最早是用于Node.js的,是一种非常简洁的并发模型,使得异步任务可以写成同步的代码结构;而基于Future/Promise的异步编程则是异步I/O编程的主流方式,具有很好的可读性和健壮性。
本文将从以下几个方面进行阐述:
-
异步编程模型及其优缺点
-
Future/Promise模型及其实现方式
-
事件驱动架构中的异步编程与并发编程