23、基于Axon的CQRS架构应用详解

基于Axon的CQRS架构应用详解

1. 一致性放松与微服务设计权衡

在微服务设计中,一致性的放松从用户体验角度无法完全隐藏。例如,当订单微服务和库存微服务出现分区时,可能会出现这样的情况:Joe确认购买了库存中的最后一件商品后,Ann仍能将该商品加入购物车并结算,她最终才会知道该商品已无库存。从微服务设计的角度看,这些是暂时的不一致性,但最终会达到一致。Ann的暂时不满也会消除,因为系统会在付款前告知商品不可用,或者在最坏的情况下,已付款后会发起退款。

在微服务架构中,架构设计就是一种权衡,明智的权衡尤为重要。网络在微服务架构中不可避免,因此分区容错技术必须在架构设计时就考虑进去,而不是事后弥补。分区容错的程度会影响应用的可用性和一致性,在架构微服务应用时,平衡这三个特性是关键。

2. Axon框架简介

Axon是一个轻量级框架,可帮助开发者遵循CQRS模式开发应用。它基于Apache 2许可,可免费用于任何应用。Axon并非构建基于CQRS系统的必需框架,反之亦然,但如果想遵循CQRS模式构建应用,Axon是一个不错的选择。CQRS虽不是架构微服务的必要前提,但它能有效解决分布式企业软件系统的可扩展性问题,因此Axon与微服务相得益彰。

在使用Axon时,会广泛利用之前深入学习的Spring Boot和Spring Cloud,这种结合将为开发者提供强大的工具组合。

3. 选择Axon的原因

在开源社区和商业领域,有不少框架可用于架构基于CQRS的解决方案。选择Axon是因为其开源免费,且能与包括Java和Spring在内的主流语言和平台集成。

在示例中,会使用两个不同

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值