RocketMQ中文开发者可通过「RocketMQ 中文社区」获取教程/架构解析/白皮书等扩展资料🔍
作者|隆基
简介: 本文技术理念的层面了解一下事件驱动的概念。RocketMQ 5.0 在面向云时代的事件驱动架构新推出的子产品 EventBridge,最后再结合几个具体的案例帮助大家了解云时代的事件驱动方案。
1.前言
从初代开源消息队列崛起,到 PC 互联网、移动互联网爆发式发展,再到如今 IoT、云计算、云原生引领了新的技术趋势,消息中间件的发展已经走过了 30 多个年头。
目前,消息中间件在国内许多行业的关键应用中扮演着至关重要的角色。随着数字化转型的深入,客户在使用消息技术的过程中往往同时涉及交叉场景,比如同时进行物联网消息、微服务消息的处理,同时进行应用集成、数据集成、实时分析等,企业需要为此维护多套消息系统,付出更多的资源成本和学习成本。
在这样的背景下,2022 年,RocketMQ 5.0 正式发布,相对于 RocketMQ 4.0,架构走向云原生化,并且覆盖了更多的业务场景。想要掌握最新版本 RocketMQ 的应用,就需要进行更加体系化的深入了解。
2.背景
今天我们要学习的课程是 RocketMQ 5.0 的事件驱动。事件驱动是一个经典的概念,通过今天这节课,我们会掌握云时代的事件驱动和之前有哪些不同
这是今天我们要学习的内容,第一部分先从技术理念的层面了解一下事件驱动的概念。第二部分会讲,RocketMQ 5.0 在面向云时代的事件驱动架构新推出的子产品 EventBridge,最后再结合几个具体的案例帮助大家了解云时代的事件驱动方案。
3. 事件驱动架构
3.1. 事件驱动架构定义
首先我们来学习一下什么是事件驱动。先从事件驱动的定义来看,事件驱动本质上是一种软件设计模式。它能够最大化降低不同模块以及不同系统之间的耦合度。
这里有一个典型的事件驱动架构图,首先是事件生产者发送事件到 EventBroker,然后 EventBroker 会把事件路由到对应的消费者进行事件处理。事件处理能够灵活扩展,随时增减事件消费者,事件生产者对此透明。
为什么说事件驱动是个很经典的设计模式呢,因为早在几十年前,就出现过多种事件驱动的技术,比如桌面客户端编程框架,点击按钮就可以触发 onclick 事件,开发者编写业务逻辑响应事件。在编程语言上,也经常会采用事件驱动的代码模式,比如 callback、handler 这类的函数。进入分布式系统的时代,系统之间的通信协同也会采用事件驱动的方式。
你有没有发现,这里的图和之前 RocketMQ 的消息应用解耦图很像。没错,无论是消息的发布订阅,还是事件的生产消费都是为了进行代码解耦、系统解耦。消息队列更偏技术实现,大部分的 EventBroker 都是基于消息队列实现的,而事件驱动更偏向于架构理念。
<

最低0.47元/天 解锁文章
519

被折叠的 条评论
为什么被折叠?



