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

目录

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

延迟消息

需求理解:

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

思路:

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

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Yusi技术资讯博客wordpress模板

Yusi技术资讯博客wordpress模板,从第一感觉看上去,两栏结构直接将网站的内容展现,以红白灰色调搭配,一种低调协调的风格,喜欢该wordpress主题的朋友可以下载试试。 下载地址:https://bbs.csdn.net/topics/…

IntelliJ IDEA 安装mybaits当前运行sql日志插件在线与离线安装方法

先安装好idear 去网上找找这个安装包下载下来,注意版本要完全一致! 比如: https://www.onlinedown.net/soft/1233409.htm手动安装离线插件方法举例 提前下载好插件的安装包 可以去网上下载这个安装包 搜索离线安装包的资源,包…

每日汇评:通胀数据公布前,欧元复苏失去动力

欧元/美元周一上涨后回落至1.0600; 市场参与者将密切关注欧元区通胀数据; 如果价格跌破1.0580-1.0580区间,卖方可能会采取行动; EUR/USD积聚了多头动能,周一实现了一周以来最高的日内收盘价,超过1.0600。然…

[GKCTF 2021]easycms 禅知cms

一道类似于渗透的题目 记录一下 首先扫描获取 登入界面 admin/12345登入 来到了后台 然后我们开始测试有无漏洞点 1.文件下载 设计 自定义 导出 然后进行抓包 解密后面的内容 发现是绝对路径了 所以这里我们要获取 flag 就/flag即可 L2ZsYWc /admin.php?mui&fdownlo…

云原生-AWS EC2使用、安全性及国内厂商对比

目录 什么是EC2启动一个EC2实例连接一个实例控制台ssh Security groups规则默认安全组与自定义安全组 安全性操作系统安全密钥泄漏部署应用安全元数据造成SSRF漏洞出现时敏感信息泄漏网络设置错误 厂商对比参考 本文通过实操,介绍了EC2的基本使用,并在功…

Jt808应答举例

1.前言 最近客户在集成基于Jt808的产品协议的时候,经常会遇到一些问题,比如没有进行转义,或者转义的时机不对,导致校验码没有进行转义。为了让大家更熟悉Jt808的指令组包,我这里整理了一下转义的步骤。 2.组包 以此…

SkyWalking官方文档-1-概述

概述 SkyWalking是一个开源的可观测平台,用于收集,分析,聚合,以及可视化处理来自服务和云原生框架的数据。SkyWalking提供了一种简单的方法来维护分布式系统的清晰视图,即使是跨云。 它是一种现代APM,专门…

电子学会C/C++编程等级考试2023年05月(五级)真题解析

C/C++等级考试(1~8级)全部真题・点这里 第1题:问题求解 给定一个正整数N,求最小的M满足比N大且M与N的二进制表示中有相同数目的1。 举个例子,假如给定N为78,二进制表示为1001110,包含4个1,那么最小的比N大的并且二进制表示中只包含4个1的数是83,其二进制是1010011,因…

虚拟机Ubuntu下运行vue-element-admin项目

一.环境搭建 1.安装nodejs sudo apt install nodejs 安装完成后,查看对应的版本号 nodejs -v没有问题,会输出对应版本号,我这里是10.19.0 v10.19.0 2.安装npm sudo apt install npm安装完成查看对应的版本号,确认OK npm -…

企业知识库知识分类太有必要了,是省时省力的关键!

企业知识库是存储、组织和共享企业内部知识的重要工具。在现代企业中,知识是一项宝贵的资产,对于提高企业的竞争力和创新能力至关重要。而通过企业知识库进行知识分类,可以将海量信息有序划分和组织,让企业员工能够快速定位、理解…

SpringSecurity 认证实战

一. 项目数据准备 1.1 添加依赖 <dependencies><!--spring security--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-security</artifactId></dependency><!--web起步依赖-…