首页 > 其他分享 >事件驱动架构在云时代为什么会再次流行呢?

事件驱动架构在云时代为什么会再次流行呢?

时间:2024-08-12 10:23:45浏览次数:11  
标签:EDA 架构 流行 事件驱动 消息 事件

事件驱动架构在云时代为什么会再次流行呢?

作为一个经典架构模式,在全行业数字化转型的时代,事件驱动架构(EDA)应用范围扩大,成为 Gartner 年度十大技术趋势。在新型的数字化商业解决方案里,会有 60% 采纳 EDA 架构。那么为什么事件驱动架构在云时代为什么会再次流行呢?

在谈及今天的话题之前,我们先来了解一下什么是事件驱动架构(EDA),也只有了解了什么是事件驱动架构(EDA),也才能更好的理解为什么事件驱动作为一个经典的架构模式,竟然会在云时代背景下再次流行起来的缘由。

什么是事件驱动架构(EDA)

事件驱动架构(Event Driven Architecture,EDA)是一种基于事件的软件架构模式,在事件驱动架构中,所有的信息都以事件的形式进行表达和处理。一个事件是一个抽象的、有意义的数据集,这些数据集可以被其他的服务接收分析并做出对应的响应。事件驱动架构是一种松耦合、分布式的驱动架构,收集到某应用产生的事件后实时对事件采取必要的处理后路由至下游系统,无需等待系统响应。
比如一个简单的人力资源服务系统的事件驱动架构示例,事件总线EventBridge收集人力资源服务系统产生的新员工入职事件,并对此事件进行路由和转发。这种体系结构可以提高站点的可扩展性,同时能更轻便地应对企业架构升级和系统拓展
在这里插入图片描述

事件驱动架构与消息

看了事件驱动架构的描述,是不是感觉和消息比较相似,确实,消息在用于微服务架构的异步解耦时,确实比较相似。但是消息的应用场景往往更倾向于一个企业内部之间各部门应用系统的数据流动,消息的生产者和消费者往往都约定好具体的消息格式。而事件的事件源,也就是事件生产者往往并不知道事件将会被谁消费,不关心事件的处理结果。这样相比较来看的话,事件相对于消息,显得更加的松耦合。

再度流行的事件驱动架构

现下时代,随着业务的不断复杂,单体架构、消息架构、微服务架构在短时间内可以应对,但是长久来看,事件驱动架构更具备优势。

从松耦合来看:事件驱动架构降低事件生产者和订阅者的耦合性。事件生产者只需关注事件的发生,无需关注事件如何处理以及被分发给哪些订阅者。任何一个环节出现故障,不会影响其他业务正常运行。

从执行情况来看:事件驱动架构适用于异步场景,即便是需求高峰期,收集各种来源的事件后保留在事件总线中,然后逐步分发传递事件,不会造成系统拥塞或资源过剩的情况。

从可拓展性来看:事件驱动架构中路由和过滤能力支持划分服务,便于扩展和路由分发。

基于以上分析,事件驱动架构在现阶段数据量飞速增长,应用体系不断扩大,服务之间通信日益复杂的情况下,确实很有可作为空间。目前阿里云官方产品事件总线EventBridge公测期间免费使用,刚兴趣的小伙伴可以提前去体验这款云时代背景下再度流行的事件驱动架构,参考文档:操作指南

标签:EDA,架构,流行,事件驱动,消息,事件
From: https://blog.csdn.net/csdn565973850/article/details/141124729

相关文章

  • chapter10------32位x86处理器编程架构
    处理器架构处理器架构或者处理器编程架构,是指一整套的硬件架构以及与之相适应的工作状态回顾8086处理器8086处理器有20根地址线,可以寻址1MB内存,但处理器内部的寄存器只有16位,也就是数据线是16根,只能处理16位的数据我们没法用16位的寄存器去访问1MB的内存,简单来说就是无法用16......
  • 基于Spring Cloud的微服务架构设计与实践
    基于SpringCloud的微服务架构设计与实践大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!SpringCloud是一个为构建分布式系统提供全套解决方案的框架,它通过一系列组件和工具,简化了微服务架构的实现过程。本文将详细介绍如何基于SpringCloud进行微......
  • 【笔记】微信抢红包-3千万的技术架构
    总体思路Redis服务器两台虚拟机,2C4G规格redis服务部署客户端pom文件<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"......
  • 【网络架构系列】内网 DNS 架构之办公网 DNS
    需求分析一、DNS安全性:二、DNS请求转发能力:三、域名管控和审计能力:架构设计架构分析技术建议需求分析办公网DNS不同于业务网DNS,主要承担的是企业或组织机构内部员工的日常办公的域名解析需求,比如:日常的办公系统的访问:OA/ERP/CRM/财务系统/文件共享......
  • 《亿级流量系统架构设计与实战》第一章 大型互联网公司的基础架构
    大型互联网公司的基础架构一、DNS1、域名服务器分类2、域名解析过程二、HTTPDNS1、DNS存在问题2、HTTPDNS解析流程3、HTTPDNS与DNS对比三、接入层技术演进1、Nginx(七层负载均衡器)2、LVS(四层负载均衡器)3、LVS+Nginx接入层架构四、数据存储1、MySQL2、Redis3、LSMTr......
  • 开源图片编辑器的插件化架构
    大家好,我是开源图片编辑器的作者,在开发图片编辑器的过程中,因为一些功能无法扩展,出现过一次较大的重构,将整个编辑器改为了插件化的架构,经历过这次重构,规范了编辑器功能的扩展方式,解决了项目里很多重要的问题。如果你也在做类似的项目,或者对图片编辑器架构比较感兴趣,希望我的经验能......
  • Redis持久化机制,主从与哨兵架构详解
    目录1.Redis持久化1.1RDB快照(snapshot)bgsave的写时复制(COW)机制save与bgsave对比:1.2 AOF(append-onlyfile)AOF重写RDB和AOF,应该用哪一个?1.3Redis4.0混合持久化2.Redis主从架构2.1Redis主从工作原理主从复制(全量复制)流程图:数据部分复制主从复制(部......
  • 探秘华为桌面云:架构解析与核心优势
    一、华为桌面云深度解读1.华为桌面云概念解析华为云FusionAccess桌面云,作为一种创新的虚拟桌面解决方案,借助云平台在硬件层面的部署,实现了用户通过瘦客户端或其他联网设备访问跨平台应用程序及完整虚拟桌面的可能。2.华为桌面云的价值体现数据安全上移,保障信息安全高效......
  • 软件开发架构(三) - DDD理论
    DDD(Domain-DrivenDesign)领域驱动设计DDD是一种软件开发方法论,强调将复杂的业务领域模型化。它将应用程序分为几个主要部分:用户界面层、应用层、领域层和基础设施层。在Java开发中,DDD常用于构建复杂的企业级应用。用户界面层(UserInterfaceLayer):负责向用户展示信息并解......
  • 软件开发架构(四) - COLA架构
    COLA(CleanObject-OrientedandLayeredArchitecture)COLA是阿里巴巴开源的应用架构,旨在帮助开发者轻松构建复杂的业务应用。它将应用程序分为四个主要部分:适配器层、应用层、领域层和基础设施层。在Java开发中,COLA常用于构建大型、复杂的企业级应用。适配器层(AdapterLa......