9、分布式系统中的事件处理与CQRS模式实践

分布式系统中的事件处理与CQRS模式实践

1. 处理器功能与最终一致性

处理器主要有两个功能。其一,它会获取最新记录的测量数据,将其存储到缓存中(这适用于稍后会提到的CQRS模式),并监控数据流中的数据是否满足警报条件。其二,当这些条件满足时,它会发出事件,以便系统的其他部分能做出相应反应。

1.1 最终一致性的理解

将世界视为一系列事件流,并在其上放置事件处理器和事件发射器,这一范式的转变,即使对经验丰富的开发者来说,也可能是个挑战。在事件溯源系统中,无法像传统系统那样对一个或多个服务进行同步的CRUD(创建、读取、更新、删除)操作,系统不会立即反馈具体且一致的状态。

在现实生活中,最终一致性系统很常见。例如银行系统,刚购买电脑的交易不会立即显示在银行账户中,但最终会体现出来。社交网络应用也是如此,在一个设备上发表的评论或帖子,可能需要几分钟才能在朋友的浏览器或设备上显示。这是因为应用架构师为了支持大规模和高流量,牺牲了同步操作的即时一致性,换取了可容忍的反馈延迟。

要接受和信任最终一致性,需要深入分析用户所需的信息以及他们需要这些信息的时间。开发者要依据对问题领域的深入了解,决定哪些信息需要立即获取,哪些可以延迟获取。

2. CQRS模式

2.1 CQRS模式概述

CQRS(Command Query Responsibility Segregation,命令查询职责分离)模式是将系统中的命令输入和查询分离。这一理念虽简单,但和事件溯源一样,会使我们对分布式系统的思考方式发生根本性转变。

命令负责向系统提交输入,通常会产生事件并分发到一个或多个事

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值