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

简介: 【5月更文挑战第2天】关于 事件驱动架构在云时代为什么会再次流行呢?

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


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


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

事件驱动架构(Event Driven Architecture,EDA)是一种基于事件的软件架构模式,在事件驱动架构中,所有的信息都以事件的形式进行表达和处理。一个事件是一个抽象的、有意义的数据集,这些数据集可以被其他的服务接收分析并做出对应的响应。事件驱动架构是一种松耦合、分布式的驱动架构,收集到某应用产生的事件后实时对事件采取必要的处理后路由至下游系统,无需等待系统响应。

比如一个简单的人力资源服务系统的事件驱动架构示例,事件总线EventBridge收集人力资源服务系统产生的新员工入职事件,并对此事件进行路由和转发。这种体系结构可以提高站点的可扩展性,同时能更轻便地应对企业架构升级和系统拓展。

事件驱动架构与消息

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


再度流行的事件驱动架构

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

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

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

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

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

相关文章
|
5天前
|
人工智能 大数据 数据处理
事件驱动架构在云时代的优势
事件驱动架构在云时代的优势
22 1
|
5天前
|
机器学习/深度学习 人工智能 监控
事件驱动架构在云时代的再度流行
事件驱动架构在云时代的再度流行
28 10
|
5天前
|
监控 数据处理
事件驱动架构的优势
事件驱动架构的优势
|
5天前
|
弹性计算 Cloud Native 大数据
事件驱动架构:云时代的流行趋势
在全行业数字化转型的时代,事件驱动架构再次成为热门话题,引起了技术圈广泛的关注和讨论,事件驱动架构正在迅速扩大应用范围,并成为 Gartner 年度十大技术趋势之一。根据预测,越来越多的新型数字化商业解决方案选择采用EDA架构,预计将有60%的解决方案采纳该架构。作为一个经典的架构模式,事件驱动在云时代为何再次流行起来成为焦点呢?本文就来简单分享一下其中的原因,解析事件驱动架构在云时代的重要性和优势。
104 2
事件驱动架构:云时代的流行趋势
|
5天前
|
消息中间件 传感器 运维
软件体系结构 - 架构风格(7)事件驱动架构风格
【4月更文挑战第21天】软件体系结构 - 架构风格(7)事件驱动架构风格
46 0
|
8月前
|
Kubernetes Cloud Native API
一种基于事件驱动架构的 SAP 产品集成方案介绍
一种基于事件驱动架构的 SAP 产品集成方案介绍
90 1
|
3天前
|
消息中间件 分布式计算 中间件
秀出天际!阿里甩出的988页分布式微服务架构进阶神仙手册我粉了
秀出天际!阿里甩出的988页分布式微服务架构进阶神仙手册我粉了
|
2天前
|
运维 监控 Docker
使用Docker进行微服务架构的部署
【5月更文挑战第18天】本文探讨了如何使用Docker进行微服务架构部署,介绍了Docker的基本概念,如容器化平台和核心组件,以及它与微服务的关系。通过Docker,每个微服务可独立运行在容器中,便于构建、测试和部署。文章详细阐述了使用Docker部署微服务的步骤,包括定义服务、编写Dockerfile、构建镜像、运行容器、配置服务通信、监控和日志管理以及扩展和更新。Docker为微服务提供了可移植、可扩展的解决方案,是现代微服务架构的理想选择。
|
2天前
|
敏捷开发 监控 API
构建高效微服务架构:从理论到实践
【5月更文挑战第18天】 在当今快速发展的软件开发领域,微服务架构已经成为一种流行的设计模式,它通过将大型应用程序分解为一系列小型、独立的服务来提高系统的可伸缩性、弹性和维护性。本文旨在探讨如何从理论走向实践,构建一个高效的微服务架构。文章首先介绍微服务的基本概念和优势,然后详细讨论了在设计和部署微服务时需要考虑的关键因素,包括服务划分、通信机制、数据一致性、容错处理和监控策略。最后,结合具体案例分析,展示如何在现实世界中应用这些原则,确保微服务架构的高效运行。
|
2天前
|
存储 弹性计算 运维
探索微服务架构下的服务治理
【5月更文挑战第18天】 在当今软件工程领域,微服务架构因其灵活性、可扩展性以及促进团队协作等优势而受到广泛青睐。然而,随着系统规模的增长和服务数量的膨胀,服务治理成为确保系统稳定性和高效性的关键因素。本文将深入探讨微服务环境下的服务治理实践,包括服务发现、配置管理、负载均衡、故障处理等关键方面,旨在为开发者提供一套行之有效的服务治理策略。