深入探索AWS中的事件驱动架构(EDA)及其应用
1. 事件驱动架构(EDA)概述
在软件开发领域,事件驱动架构(EDA)正逐渐崭露头角。与传统的分层架构应用通常采用同步方式不同,EDA依赖于队列和事件的异步特性。越来越多的应用从一开始就采用EDA进行设计,它可以使用各种开发栈和语言来开发,因为EDA本质上是一种编程哲学,而非特定的技术或语言。
EDA的核心在于事件的概念。事件是系统中一个组件生成并由其他组件消费的消息或通知,代表系统内发生的重要变化,其他组件需要知晓这些变化以采取相应行动。例如,数据库的修改、应用程序的运行时错误、用户提交的请求、EC2实例故障、阈值被突破、代码变更提交到CI/CD管道、新客户注册、支付处理、股票价格变化、传感器报告温度读数以及用户与移动应用的交互等都可能是事件。不过,并非系统内的所有变化或操作都被视为事件,如配置设置的更改或日志消息,因为它们通常不代表系统其他组件需要知晓的重要信息。而且,事件与非事件的区分可能依赖于具体上下文和EDA的实现方式。
2. EDA的关键元素:生产者和消费者
事件本身是无用的,就像森林中一棵树倒下,如果没有人听到或看到,很难说它真的倒下了。同样,事件需要有生产者来生成,也需要有消费者来消费。
- 生产者 :事件生产者首先检测到状态变化,如果这是一个被监控的重要变化,它会生成一个事件,并发送消息通知其他组件。
- 消费者 :事件被检测到后,消息会被传输到队列。一旦事件被放入队列,生产者就不再关注该消息,消费者以异步方式从队列中获取消息。消费者获取消息后,可能会根据消息执行
超级会员免费看
订阅专栏 解锁全文
71

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



