39|Serverless:如何基于MQ和Serverless设计事件驱动架构?
许文强
你好,我是文强。
上节课我们讲了如何基于 Serverless 架构实现流式数据处理。这节课我们来看一下如何基于消息队列和 Serverless 来设计实现事件驱动架构(EDA)。
想必你对事件驱动架构这个词会有点陌生,为了让你更好地理解它,我们先来回顾两个知识点。
从技术上来看,这两个知识点都是事件驱动架构的一种实现。接下来我们就详细了解一下什么是事件驱动架构,它有什么用,以及它的架构和底层运行原理。
什么是事件驱动架构
事件驱动架构,英文是 Event Driven Architecture,简称 EDA。我们通过下面这张图来认识一下它。
如上图所示,这是从事件驱动架构抽象出来的架构图,图中包含了事件源、事件处理平台(事件总线)、事件目标三个部分。
事件源就是数据源,一个事件可以理解为一个数据。比如业务定义了一个事件,然后投递到了事件处理中心,本质上就是投递了一个数据。
事件处理平台(在公有云产品化后一般叫做事件总线)负责接收和持久化存储不同事件源的事件,然后根据设置好的事件规则触发执行不同的业务逻辑。
事件目标包含事件目标和目标调用两部分。事件目标一般是实体,比如 HTTP/TCP Server、某个存储引擎等等。目标调用是一个动作,比如 HTTP API 调用、调用引擎客户端 SDK 写入数据等等。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入探讨了基于消息队列和 Serverless 架构设计实现事件驱动架构(EDA)的方法。通过介绍事件驱动架构的优势和问题,以及 CNCF Serverless 工作组提出的 CloudEvents 概念,文章阐述了如何利用 CloudEvents 规范简化事件发布、订阅和处理流程。此外,还探讨了事件驱动架构在自动化运维、应用连接和集成、商品订单中台等典型应用场景中的价值。文章还详细介绍了构建事件处理平台的接入层、缓存层、运行层和分发层四个部分。最后,文章强调了事件处理平台需要保证事件数据不丢失,并讨论了事件数据的一致性问题。 事件驱动架构(EDA)是本文的核心主题,它涉及到事件总线的设计和实现,以及事件规则的配置和业务逻辑的触发。CloudEvents 规范的介绍为简化事件处理流程提供了重要参考,而事件驱动架构在自动化运维、数据集成、业务数据中台等场景中的广泛应用则展现了其实际价值。技术细节方面,接入层、缓存层、运行层和分发层的设计和实现是事件处理平台的关键组成部分,需要考虑诸多细节问题,如数据格式规范、数据源集成、集群扩缩容、运行时规则设计等。 总的来说,本文全面阐述了事件驱动架构的概念、CloudEvents 的作用以及事件驱动架构在实际业务中的应用和构建方法,为读者提供了深入了解和应用事件驱动架构的重要参考资料。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入拆解消息队列 47 讲》,新⼈⾸单¥59
《深入拆解消息队列 47 讲》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- Geek_cb8c43其中时间处理平台是架构的核心,它由接入层、缓存层、运行层、分发层四部分组成。 --总结这里是不是写错了,时间处理平台->事件处理平台2023-12-10归属地:上海
收起评论