极客时间 分布式系统案例课 笔记04

事务性发件箱: 增加发件箱outbox table 表

发送mq 成功,就更新outbox 表为已消费

消息如果relay,会重发,直到确认成功为止

使用canal或者databus解析binlog

两种方案的对比

22 | 微服务数据聚合join

采用数据分发+ 预聚合的方式

数据变更,把变更的数据 做数据分发 ,使用分发服务聚合计算出商品反馈数据;然后存入到本地数据库

写数据实时同步到查询端redis, ElasticSearch

乐观更新: 前端UI直接更新,后台如果失败,再把前端UI的状态回滚

拉模式: 带上版本号,后台不停地轮询查询端,检查更新视图版本号

发布订阅: 订阅在查询query端,查询端会通知更新前端ui

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

22 | 微服务下的分布式事务

23 | 分布式事务

发消息来更新其他服务的状态,如果失败,也是通过发回滚消息,来回滚数据更改

语义锁: 订单正在处理中,拒绝用户取消订单来保证隔离性

24 | 分布式seata

25 | 微服务编排引擎 Cadence

Activity worker : 分支事务执行者

Workflow worker : 全局事务执行者

猜你喜欢

转载自blog.csdn.net/kuaipao19950507/article/details/107240254