12、事件驱动架构中的事件与消息总线

事件驱动架构中的事件与消息总线

1. 事件驱动架构概述

在构建系统时,设计模块间的通信方式比关注模块内部属性和行为更为关键。当需要编写多个领域模型来管理业务流程时,应用程序需与系统其他部分交换信息。常见做法是使用通过 HTTP API 集成的微服务,但处理不当会导致系统混乱。

我们将探讨如何把之前的技术扩展到分布式系统,通过异步消息传递的小组件来构建系统。还会介绍以下模式和技术:
- 领域事件 :触发跨越一致性边界的工作流。
- 消息总线 :提供从任何端点调用用例的统一方式。
- CQRS :分离读写操作,避免在事件驱动架构中做出尴尬的妥协,提升性能和可扩展性。
另外,会引入依赖注入框架来整理代码。

2. 事件与消息总线示例

以库存不足时发送通知给采购团队为例,最初产品负责人要求通过电子邮件发送警报。我们先看简单粗暴的实现方式及其问题,再介绍如何使用领域事件模式和消息总线模式解决问题。

代码可从 GitHub 获取:

git clone https://github.com/cosmicpython/code.git
cd code
git checkout chapter_08_events_and_message_bus
# 或跟随编码,切换到上一章
git checkout chapter_07_aggregate
3. 避免代码混乱
3.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值