6、事件驱动架构中的事件处理与设计指南

事件驱动架构中的事件处理与设计指南

1. 处理架构变更与事件流管理

在处理架构变更时,对于旧架构下的实体,应将其保留在原始事件流中,因为在重新处理验证和取证调查时可能会用到这些旧实体。同时,使用新架构将新的和更新后的实体生成到新的事件流中。

对于非实体事件,在引入重大变更时处理起来相对简单。最简单的方法是创建一个新的事件流,并开始向该流生成新事件。需要通知旧事件流的消费者,以便他们可以注册为新事件流的消费者。每个消费服务还必须考虑两个事件定义之间业务逻辑的差异。

1.1 事件流管理原则

不要在一个事件流中混合不同类型的事件,特别是在进化上不兼容的事件类型。事件流的开销较低,而逻辑分离对于确保消费者在处理需要处理的事件时拥有完整信息和明确的定义非常重要。

由于旧事件流不再有新事件生成,每个消费服务的消费者最终会处理到最新记录。随着时间的推移,事件流的保留期最终会导致该流被完全清除,此时所有消费者可以取消注册,事件流也可以被删除。

1.2 事件流管理流程

graph LR
    A[保留旧实体在原事件流] --> B[创建新事件流]
    B --> C[向新流生成新事件]
    C --> D[通知旧流消费者]
    D --> E[消费者注册新流]
    E --> F[消费服务考虑逻辑差异]
    F --> G[旧流无新事件]
    G --> H[消费者处理到最新记录]
    H --> I[保留期结束清除旧流]
    I --> J[消费者取消注册]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值