15、SpringCloud -- 延迟消息、异步下单失败处理方案

news2025/2/23 14:39:22

目录

  • 延迟消息
    • 需求理解:
    • 思路:
    • 代码:
      • 发送延迟消息
      • 消费延迟消息:
        • 1、订单支付状态:
        • 2、回补真实库存:
        • 3、回补预库存:
        • 4、修改本地标识:
      • 测试:
        • 清除MQ数据:
        • 期望结果:
        • 实际结果:
          • 问题:
  • 异步下单失败
    • 需求1:
      • 代码:
        • 发送消息:
        • 消费消息:
      • 测试:
    • 需求2:

延迟消息

需求理解:

用户成功秒杀后,还没马上进行支付,一般支付时间是有限制的,如果用户15分钟后还没有进行支付,那么我们就发送消息,判断订单状态是否支付,未支付就回补真实库存,回补预库存,修改本地标识等操作

思路:

前面当用户秒杀成功后,会发送一条消息到MQ,然后消费者消费到这条消息后,就会马上通知用户秒杀成功。

这个时候,我们需要再写一个消费者类,同样是来消费这条消息的,只不过是延时发送消息。

理解下发送消息和消费消息的topic和tag

第1点: 这里是用户点击秒杀,然后往MQ发送一条数据,然后创建一个消费者来消费这条秒杀信息。
在这里插入图片描述

第2点: 这个是秒杀成功后,再发送一条秒杀结果的消息到MQ,然后消费者消费到这条消息之后,就通过websocket把秒杀结果发给用户。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1150645.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从制造到创造:揭示中国制造的基础瓶颈及其突破

中国制造的产品遍布全球,但很多人认为中国制造的产品缺乏基础,这是为什么呢?本文将从制造的基础入手,探讨中国制造缺乏基础的原因。 一、制造的基础 制造的基础是工艺,工艺的基础包括三个方面:基础材料的研…

如何将word格式的文档转换成markdown格式的文档

如何将word格式的文档转换成markdown格式的文档 前言 A. 介绍Markdown和Word格式文档 什么是Markdown? Markdown是一种轻量级标记语言,旨在简化文本格式化和排版的过程。它以纯文本形式编写,通过使用简单的标记语法,使文档更具…

HarmonyOS开发:基于http开源一个网络请求库

前言 网络封装的目的,在于简洁,使用起来更加的方便,也易于我们进行相关动作的设置,如果,我们不封装,那么每次请求,就会重复大量的代码逻辑,如下代码,是官方给出的案例&am…

0003net程序设计-net旅游景点推荐系统

文章目录 摘 要目录系统设计开发环境 摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,传统管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生&#…

【IDEA】设置sql提示

第一步:注入SQL语言 1.首先选择任意一条sql语句,右击,选择 ‘显示上下文操作’ 2.选择 ‘注入语言或引用’ 3. 往下翻,找到MySQL 第二步:配置MySQL数据库连接 1.首先点击侧边的数据库,再点击上面的加号 2…

antv/g6使用教程及图配置

介绍 G6 是一款由蚂蚁金服 AntV 团队开发的 JavaScript 图形引擎,用于构建各种交互式可视化图形,包括但不限于图表、网络拓扑图、关系图、流程图等。无论是数据分析、决策支持,还是信息可视化,G6 都是一个强大的工具。 以下是 G…

python采集电商jd app商品详情数据(2023-10-30)

一、技术要点: 1、cookie可以从手机app端用charles抓包获取; 2、无需安装nodejs,纯python源码; 3、商品详情接口为:functionId "wareBusiness"; 4、clientVersion "10.1.4"同…

自学C语言的最恐怖的地方是什么?

自学C语言的最恐怖的地方是什么? 当年在网吧学C,人家在玩游戏,我在敲代码,基本上从9点敲到1点,然后再开始玩游戏。。。当时不是装逼,就是觉得有意思,而且当时计算机的确是一门很高大上的职业。…

redis加入window服务及删除

1、命令redis-server.exe --service-install redis.windows.conf,在服务中可配置自动启动 删除redis服务,先停止redis服务运行,管理员cmd模式,sc delete "redis" ,

mysql 间隙锁

mysql 默认是可重复读的隔离级别,这种默认会有幻读,幻读指的什么现象呢,就是在同一个事物中前后两次查到的结果不一致,那么mysql是怎么解决幻读的呢,这就是mvcc mvcc 什么是mvcc呢,就是多版本并发控制&am…

数据结构之树(图解)

文章目录 前言一、树是什么?二、树的特点三、树的相关概念四、树的表示方法(孩子兄弟表示法)总结 前言 在学习完线性结构,例如顺序表、链表、栈、队列后,我们要开始学习一个新的数据结构----树 一、树是什么&#xf…

超全整理,Jmeter性能测试-脚本error报错排查/分布式压测(详全)

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 性能脚本error报错…

iOS 使用dsym符号化线上crash日志(ips文件)

1.获取崩溃日志 可以iphone连接mac复制当时的崩溃日志。 Xcode->Window->Devices View Device Logs 如果是testflight的崩溃是可以分享的,分享出来可能是ips文件。 把文件名称改成my.crash 使用脚本把新版本崩溃日志转成老版本格式 这一步不是必须的&…

c++小惊喜——stringstream

当需要读取一行字符串时&#xff0c;我们通常会有将这个字符串分开的想法 #include<iostream> #include<sstream> using namespace std;int main() {string str;getline(cin, str);stringstream ssin(str);string s[10];int cnt 0;while (ssin >> s[cnt]) …

vue实现记事本(含样式)

实现增加、删除、全删、合计功能。 html代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta http-equiv"X-UA-Compatible" content"IEedge" /><meta name"viewport&q…

中文复制到ubuntu内变为乱码

如果你将中文文本复制到 Ubuntu操作系统内后出现乱码&#xff0c;这可能是字符编码设置不正确所致。 检查终端编码设置&#xff1a; 在终端中&#xff0c;确保你的终端编码设置正确。你可以使用locale 命令来检查系统的默认编码 设置。一般来说&#xff0c;UTF-8是一种广泛支持…

【K8s】白话容器基础(二):隔离与限制

白话容器基础&#xff08;二&#xff09;&#xff1a;隔离与限制 容器与虚拟机 在上一篇文章中&#xff0c;我详细介绍了 Linux 容器中用来实现“隔离”的技术手段&#xff1a;Namespace。而通过这些讲解&#xff0c;你应该能够明白&#xff0c;Namespace 技术实际上修改了应…

如何本地部署Jellyfin影音服务器并实现在公网访问

文章目录 1. 前言2. Jellyfin服务网站搭建2.1. Jellyfin下载和安装2.2. Jellyfin网页测试 3.本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5. 结语 1. 前言 随着移动智能设备的普及&#xff0c;各种各样的使用需求也被开发出来&…

如何做好企业的设备维护和保养?报修工单管理系统软件有哪些?

随着信息化技术的飞速发展&#xff0c;企业运营的各个方面都在逐步实现信息化。设备维护作为企业运营中的重要环节&#xff0c;其可靠性对于企业的正常运营至关重要。报修工单管理系统软件作为解决这一问题的有效方案&#xff0c;已经受到业界的广泛关注。本文将从测评专家的角…

window安装es服务及删除

elasticsearch-service.bat install 删除es服务&#xff0c;先停止es服务运行&#xff0c;管理员cmd模式&#xff0c;sc delete "elasticsearch-service-x64"