推广

RocketMQ实战(上)

iseeyu2年前 (2024-02-22)推广147

图示

案例介绍

1.业务分析

模拟电商网站购物场景中的【下单】和【支付】业务

图示

(1)下单

用户请求订单系统下单

订单系统通过RPC调用订单服务下单

订单服务调用调用库存服务,扣减库存

订单服务调用优惠券服务,扣减优惠券

订单支付完成后确认订单

(2)支付

用户请求支付系统

支付系统调用第三方支付平台API进行发起支付流程

用户通过第三方支付平台支付成功后,第三方支付平台回调通知支付系统

支付系统调用订单服务确认订单

题分析

1.分布式系统宕机问题

整个系统是分布式部署,有订单系统、商品系统、会员系统。三个系统通过RPC调用完成整个下单流程。RPC调用会导致下单中各系统耦合在一起,假如会员系统宕机,会导致下单流程的不可用。

如何异步解耦:

利用RocketMQ,订单系统在下单后,作为生产者把“下单消息”写入MQ,商品系统与会员系统作为消费者消费MQ中的“下单消息”。这样可以达到异步解耦的目的,只要订单系统正常,对于用户来说下单业务都可以正常进行。

2.数据完整性问题

用户提交订单后,扣减库存成功、扣减优惠券成功,但是在确认订单操作失败(比如:支付失败),那么就需要对库存、优惠券进行回退。

如何保证数据的完整性?

在收到确认订单失败通知后,向MQ发送“确认失败消息”

商品系统与会员系统作为消费者监听“确认失败消息”,进行对应业务的回退。

3.无效订单、同行攻击!

用户通过第三方支付平台(支付宝、微信)支付,假如下了订单,过了很久还没支付,那么这个订单应该取消,所以这个地方涉及到限时订单场景,系统在15分钟之内没有支付成功,则需要取消订单,同时回退库存与优惠券

4.秒杀、抢购高峰流程冲击

项目代码介绍

1.项目工程

图示

图示

图示

2.数据库

图示

(1)订单表

图示

(2)商品表

图示

(3)用户表

图示

(4)优惠券表

图示

3.框架及技术

    整体项目使用SpringBoot搭建,整合了Mybatis,Maven依赖如下:

图示

    SpringBoot整合RocketMQ,同时使用gson作为MQ发送和消费的序列工具

图示

另外使用mybaits-gengerator逆向工程针对数据表生成CURD持久层代码

图示

图示

链接: https://pan.baidu.com/s/1gCOLPI76hu1IJwLJnVOdfg  提取码: rc2r 

我是娆疆_蚩梦,让坚持成为一种习惯,感谢各位大佬的:点赞、收藏和评论,我们下期见!


上一篇:RocketMQ常见问题分析以及性能优化

下一篇:RocketMQ实战(下)

扫描二维码推送至手机访问。

版权声明:本文由西安泽虎代运营发布,如需转载请注明出处。

转载请注明出处https://www.0291.com.cn/post/56232.html

相关文章

得到APP产品分析

得到APP产品分析

  在充分了解这款应用之前,大家认为得到APP充其量是一款产品体验较好的的知识服务型应用,满足消费者利用碎片化时间充实自己的需求。 一、市场现状分析 根据艾媒咨询数据显示,2017年以来,中国知识付费行业市场规模快速扩大,2020年达392亿元,预计到2021年将达到675...

朋友圈广告投放案例及投放攻略大全!

朋友圈广告投放案例及投放攻略大全!

  微信广告主分为两种广告,一种是公众号广告,另外一种是朋友圈广告,公众号上通常是偏文案形式展现,朋友圈里则是偏活动形式展现。这篇文章主要和大家聊聊微信的朋友圈广告。 什么是微信朋友圈广告 以类似朋友的原创内容形式进行展现,在基于微信用户画像进行定向展示的同时...

游戏推广员如何进行游戏推广工作呢?

游戏推广员如何进行游戏推广工作呢?

新手做基础的游戏,就要先了解什么是游戏推广员?其实游戏推广并没有想象中复杂难做,做游戏推广其实就是通过各种流量注册运营,然后将自己代理的游戏在渠道中宣传推广,让更多游戏爱好者或者闲暇刻看到,并玩家有兴趣进入游戏中进行娱乐消费,推广员就能从中获得一定点位的收益分成。想要了解游...

有哪些成功的社会化媒体营销案例?

有哪些成功的社会化媒体营销案例?

社会化刚好有点了解,看了些案例,我就把我觉得比较好的案例分享下。案例一:爱的距离 川崎尚平(Shohei Kawasaki)和阿倍野衣织(Iori Abeno)是一对相识两年半的真实恋人。因为工作关系,川崎(男)住在福冈,阿倍(女)住在东京。他们两人相距1 000公里,难慰...

在线教育如何做好流量留存?

在线教育如何做好流量留存?

  作为教培行业观察家,笔者看到的文章,要么多谈招生转化、流量获取,要么就跟风于互联网圈,大谈增长黑客、裂变拉新,都感觉疲乏了。 其实,只要做过教育且对教育有深刻理解的人,都会有这样的一个共识:教育产品的增长,不是看流量,而是看留存。 尤其是近年火爆的在线教育,更应该重视留...

加速网站排名的秘诀就是布局好网站关键词位置。

加速网站排名的秘诀就是布局好网站关键词位置。

网站优化是我们的营销工具,它对营销网站更为重要,因为它可以为我们的客户带来流量。有时,当我们进行优化时,方法是明确的,但并不好。怎么了?事实上,这种情况与你的细心有关,我们的工作质量非常重要。 1、搜索引擎优化是排名,就是发布外链与更新文章 这是比较容易被误解的一点,我们刚刚开始优化网站。我们觉...

现在,非常期待与您的又一次邂逅

我们努力让每一部企业宣传片和抖音短视频成为商业大片