9、响应式编程与购物车微服务开发探索

响应式编程与购物车微服务开发探索

1. 分布式系统控制与响应式编程

在分布式系统中,系统控制分散,不存在作为协调器的单一故障点。当这种方法与事件溯源结合时,所有事件都会被存储,并且支持事件重放。即使某个服务宕机,当服务重新上线时,事件存储仍可以重放该事件,服务也能检查更新。

1.1 命令查询职责分离(CQRS)

CQRS 是另一个优势,它可以将读写活动分离,使得任何服务都能独立扩展,这在读写密集型应用场景中非常有用。

1.2 缺点

  • 异步编程有时难以处理,仅通过查看代码难以理解其实际工作流程,需要深入理解事件循环。
  • 复杂性和集中式代码转移到各个服务中,流控制分散,可能导致系统中出现冗余代码。

1.3 混合方法

由于“一刀切”的方法并不适用,因此出现了几种混合方法,结合了不同的优势。主要有以下两种混合方法:

1.3.1 外部响应,内部编排

这种模式在不同微服务之间采用响应式模式,在服务内部采用编排模式。以购物微服务为例,在产品库存服务、支付服务和推荐产品服务之间采用响应式方法,而在结账服务、处理支付和发货服务之间采用编排方法。

优点
- 大多数服务解耦,仅在需要时进行编排,应用的整体流程分布。
- 异步事件和基于事件的方法确保没有单一故障点,事件可以重放。

缺点
- 如果服务耦合,可能成为单一故障点,无法独立扩展。
- 同步处理可能导致系统阻塞,资源在请求完成前

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值