开发者学堂课程【RocketMQ 知识精讲与项目实战(第二阶段):总结】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/703/detail/12445
总结
内容介绍:
一、案例介绍
二、技术分析
三、环境搭建
四、下单业务
五、支付业务
六、整体联调
一、案例介绍
1.案例分析
综合电商网站购物场景中的【下单】和【支付】业务
综合电商案例的背景,模拟支付与下单两大功能
2.问题分析
进行功能开发时,着重分析两大问题
第一大问题是确认订单失败时如何保证库存、优惠券、余额的回退,
第二个问题是进行用户支付之后接收的第三方支付平台回调接口时如何快速处理当前数据,快速给第三方平台做响应
两大问题最终使用进行 MQ 处理
二、技术分析
1.技术选型
技术点
SpringBoot
用 SpringBoot 搭建微服务项目
Dubbo
服务调用 Dubbo,用框架完成调用
Zookeeper
Zookeeper 是 Dubbo 的注册中心
RocketMQ
核心技术点
Mysql
使用雪花算法生成一个全局唯一的 ID 以及 RestTemplate 发起模拟 HTTP 的请求
用 SpringBoot 集成 RocketMQ 与 Dubbo
三、环境搭建
当前项目的数据库以及项目的子工程的功能,Mybatis 逆向工程使用,基础公共类的作用
四、下单业务
功能完成后,完成下单的基本流程,在基本流程中并未考虑异常情况,将这个歌基本流程实现,演示确认订单失败后的问题现象,通过失败补偿机制发送消息的方式将问题进行处理
五、支付业务
做了两方面工作,创建支付订单与支付回调,创建支付订单完成后,重点处理支付回调后如何快速处理回调的数据给第三方支付平台发送响应,使用 RocketMQ 进行消息数据分发
六、整体联调
采用 RestTemplate 发起与模拟http的请求,测试下单与支付回调,包括支付订单生成,创建两个 web 工程,项目最终可能以前后端分离的方式部署,测试通过 http 方式测试,使用 RestTemplate 模拟 http 的请求,测试整个功能。