9、事件溯源与 CQRS 模式:构建高效分布式系统

事件溯源与 CQRS 模式:构建高效分布式系统

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

处理器主要有两个功能:
- 接收最新记录的测量数据,将其存入缓存(适用于 CQRS 模式),并监控数据流中的数据以检测警报条件。
- 当警报条件出现时,发出事件,使系统的其他部分能做出相应反应。

在事件溯源系统中,我们无法像传统系统那样对一个或多个服务进行同步的简单 CRUD(创建、读取、更新、删除)操作,系统不会立即反馈具体的一致状态。相反,系统是最终一致的。

最终一致性在日常生活中很常见,例如银行系统,我们购买商品的交易记录不会立即显示在银行账户中,而是在一段时间后才会更新;社交网络应用也是如此,我们在一个设备上发布的评论或帖子可能需要几分钟才能在朋友的浏览器或设备上显示。

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

2. CQRS 模式

CQRS(命令查询职责分离)模式将系统中的命令输入和查询操作分离。命令负责向系统提交输入,可能会产生事件并分发到一个或多个流中。由于我们为了系统的扩展性而牺牲了即时一致性,所以提交命令应该是一种“即发即忘”的操作,系统对命令提交的响应只是确认命令是否被成功接收,而不是返回新的一致状态。最终,系统状态会根据命令的处理而改变,时间间隔取决于业务流程和数据变更传播的重要性。

查询操作则是在接受最终一致性的基础上,对客户端需要的信息进行深入分析后进行的。我们要预测系统的查询需求,尽可能让数据靠近消费者,并以最快的查询速度和最少的计算处理来提供数据。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值