事件驱动架构-七巧低代码入门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 小时前
百度智能云千帆大模型平台引领企业创新增长
低代码·llmops·rag·智能体·模型精调
天天扭码6 小时前
五天SpringCloud计划——DAY2之单体架构和微服务架构的选择和转换原则
java·spring cloud·微服务·架构
余生H6 小时前
transformer.js(三):底层架构及性能优化指南
javascript·深度学习·架构·transformer
凡人的AI工具箱6 小时前
15分钟学 Go 第 60 天 :综合项目展示 - 构建微服务电商平台(完整示例25000字)
开发语言·后端·微服务·架构·golang
运维&陈同学7 小时前
【zookeeper01】消息队列与微服务之zookeeper工作原理
运维·分布式·微服务·zookeeper·云原生·架构·消息队列
架构师Wu老七14 小时前
【软考】系统架构设计师-信息系统基础
系统架构·软考·系统架构设计师·信息系统基础
2401_8827275717 小时前
BY组态-低代码web可视化组件
前端·后端·物联网·低代码·数学建模·前端框架
哔哥哔特商务网20 小时前
一文探究48V新型电气架构下的汽车连接器
架构·汽车