本地消息表方案代码讲解

11 未经授权,禁止转载了解课程
课程介绍
讨论{{interaction.discussNum ? '(' + interaction.discussNum + ')' : ''}}
适合人群
Java开发人员,零基础学习Java缺少项目经验
你将会学到
电商订单系统的分布式事务解决方案
课程简介

小米商城分布式事务的架构设计实战.png

一、电商订单系统核心业务流程讲解 

对于电商订单系统来说,最主要的核心流程就是订单的生成,在生成订单的链路中就会涉及到与其他服 务的交互,下图为订单生成过程中与商品服务,账户服务,以及库存服务交互的过程 


微信截图_20230809192711.png


二、电商订单系统核心业务链路分布式事务问题分析 


根据上图我们已经大致了解了订单的生成过程,以及在生成过程中需要交互的服务,那么其实问题就来 了,当我们的系统服务化之后,那么本地事务已经不在生效,如上图中涉及到 订单服务,促销服务,以 及库存服务,订单在生成过程中需要调用促销服务锁定优惠券,然后调用库存服务锁定库存,最后把生 成的订单数据插入到本地的订单数据库中 那么在如上的流程中,如果其中任何一个服务出现了问题,或者调用失败了就会出现数据的不一致问题


三、项目简历如何编写 


有过类似的项目经验,例如电商订单系统, 下单链路中,库存,优惠卷 下订单 可以使用TCC 分布式事 务来完成 例如:支付链路 ,下单成功之后,进行订单的支付 可以使用 可靠消息最终一致性方案来完成 没有类似的项目经验, 在已有的项目中,去分析核心的请求链路 存不存在分布式事务的问题,学习一 下订单系统的业务流程,讲到的分布式事务解决方案根据自己学习到的业务流程进行结合 画图学习明白 进行总结 


四、面试中一般会涉及哪些问题?


1 事务的特性: 原子性,一致性, 隔离性 ,持久性 

2 什么是分布式事务? 

3 什么是CAP原理?一致性 可靠性 分区容忍性为什么CAP无法同时满足 

4 什么是base原理 

5 什么是刚性事务? 什么是柔性事务? 什么是XA规范? 

6 分布式事务的解决方案? 2PC 事务消息,TCC AT模式最大努力通知服务

展开更多
发布
头像

{{ item.user.nick_name }} {{ EROLE_NAME[item.user.identity] }}

置顶笔记
讨论图
{{ item.create_time }}回复
  • 删除

    是否确认删除?

    确认
    取消
  • {{ item.is_top == 1 ? '取消置顶' : '置顶'}}

    已有置顶的讨论,是否替换已有的置顶?

    确认
    取消
{{ tag.text}}
头像
{{ subitem.user.nick_name }}{{ EROLE_NAME[subitem.user.identity] }}
{{ subitem.create_time }}回复
删除

是否确认删除?

确认
取消
发布
{{pageType === 'video' ? '讨论区抢占沙发,可获得双倍学分' :'讨论区空空如也,你来讲两句~'}}
发布
{{tips.text}}
{{ noteHeaderTitle }} 笔记{{ hasMyNote ? '我的笔记' : '记笔记' }}
{{ hasMyNote ? '我的笔记' : '记笔记' }}
优质笔记
更新于:{{ $dayjs.formate('YYYY-MM-DD HH:mm:ss', item.last_uptime*1000) }}
头像
{{ detail.username }}

公开笔记对他人可见,有机会被管理员评为“优质笔记”

{{ noteEditor.content.length }}/2000

公开笔记
保存
提问

讲师收到你的提问会尽快为你解答。若选择公开提问,可以获得更多学员的帮助。

记录时间点
记录提问时视频播放的时间点,便于后续查看
公开提问
提交