事件驱动架构-七巧低代码入门01

事件驱动架构(Event-Driven Architecture, EDA)是一种软件架构模式,它强调系统内各个组件之间通过事件或消息进行通信和协作。在事件驱动架构中,系统的各个部分(服务、组件等)不直接调用彼此的方法来进行通信,而是通过发送和接收事件或消息来实现解耦和松散耦合。

1.1 实施过程

事件代表系统中发生的重要事物或状态变化,可以是用户操作、传感器数据更新、系统错误等。消息是事件的载体,用于在系统内部或不同系统之间传递事件的数据和相关信息。

事件生产者产生事件并将其发送到系统中,事件消费者订阅特定类型的事件,并根据事件发生执行相应的逻辑或处理。

1.2 主要特点

事件驱动架构是一种非常流行的分布式异步架构模式,经常被用与构建高可伸缩性的应用程序。这种架构模式由一系列高度解耦的、异步接收和处理事件的单一职责的组件所组成,低代码平台中的事件触发和响应机制,如表单提交、流程状态变更、用户界面交互等,可以作为事件驱动架构中的事件源。

事件驱动架构具备以下特点:
松散耦合: 事件驱动架构通过事件的发布和订阅机制,实现了组件之间的松散耦合。系统的不同部分可以独立地演化和扩展,而不会直接影响到其他部分。
异步性: 事件驱动架构通常是异步的,即事件的发布和处理是非阻塞的,系统可以处理大量事件而不会被单个事件的处理时间所阻塞。
扩展性: 事件驱动架构通常支持跨平台的消息传递和事件处理,系统可以部署在不同的硬件设备或云平台上,并与其他系统进行集成交互。

1.3 实现方式

调停者拓扑是一种基于事件驱动架构的特定设计模式,旨在通过明确定义的调停者来处理和协调系统中的事件流。调停者拓扑通过引入中心化的调停者来管理事件的路由和分发。

调停者拓扑主要有5个主要的架构组件组成:事件(Event)、事件队列(Event Queue)、调停者(Event Mediator)、事件通道(Event Channel)和事件处理器(Event Processor)。

Event通过服务端发送到Event Queue,Event Queue传递消息到Mediator。Mediator接收到队列传递过来的原始消息,然后编排成异步的消息发送到Event Channel,Event Channel则通过具体的Event Processor响应具体的业务逻辑。

其中的「事件」常常是固定的,事件的分发传递的机制也是固定的,只有「响应」是可变的,或者说是可以配置或者编排的。软件开发的OCP原则告诉我们:"软件应该对修改关闭,但要对扩展开放"。而事件驱动就是在保持了事件和核心逻辑的稳定性和不被修改的前提下,通过定义不同的「响应」从而达到了对"扩展的开放"。

事件处理器(Event Processor)就是对事件的「响应」,在七巧低代码中具体的集成方式有:自定义事件脚本、扩展插件、第三方服务、连接器、业务编排等。

1.4 应用场景

事件驱动架构可应用于传感器数据、交易数据等的实时数据分析和处理,通过事件驱动的方式记录系统中每个重要操作的事件,可用于日志记录和审计,微服务中也通常通过事件驱动架构来实现解耦和异步通信。

常见的事件驱动架构的实现技术包括消息队列(如Kafka、RabbitMQ)、发布/订阅系统(如Redis Pub/Sub、AWS SNS)、事件驱动的微服务框架(如Spring Cloud Stream、Apache Kafka Streams)等。

相关推荐
一个骇客1 小时前
让你的数据成为“操作日志”和“模型饲料”:事件溯源、CQRS与DataFrame漫谈
架构
Light601 小时前
智链未来:彭山物流园区从物理基建到数据智能体的全维度构建方案
人工智能·系统架构·数字孪生·智慧物流·实施路径·彭山项目
鹏北海-RemHusband2 小时前
从零到一:基于 micro-app 的企业级微前端模板完整实现指南
前端·微服务·架构
学历真的很重要3 小时前
【系统架构师】第二章 操作系统知识 - 第二部分:进程与线程(补充版)
学习·职场和发展·系统架构·系统架构师
2的n次方_4 小时前
Runtime 内存管理深化:推理批处理下的内存复用与生命周期精细控制
c语言·网络·架构
前端市界5 小时前
用 React 手搓一个 3D 翻页书籍组件,呼吸海浪式翻页,交互体验带感!
前端·架构·github
文艺理科生5 小时前
Nginx 路径映射深度解析:从本地开发到生产交付的底层哲学
前端·后端·架构
C澒5 小时前
Vue 项目渐进式迁移 React:组件库接入与跨框架协同技术方案
前端·vue.js·react.js·架构·系统架构
消失的旧时光-19436 小时前
从 Kotlin 到 Dart:为什么 sealed 是处理「多种返回结果」的最佳方式?
android·开发语言·flutter·架构·kotlin·sealed
L543414466 小时前
告别代码堆砌匠厂架构让你的系统吞吐量翻倍提升
大数据·人工智能·架构·自动化·rpa