场景:

在用户要支付订单的时候,如果超过30分钟未支付,会把订单关掉。当然我们可以做一个定时任务,每个一段时间来扫描未支付的订单,

如果该订单超过支付时间就关闭,但是在数据量小的时候并没有什么大的问题,但是数据量一大轮训数据库的方式就会变得特别耗资源。

当面对千万级、上亿级数据量时,本身写入的IO就比较高,导致长时间查询或者根本就查不出来,更别说分库分表以后

这里提供一种方案,就是延迟队列。

1.使用redis有序集合

2.EasySwoole Redis 携程客户端

实现过程大致思路如下:

生成订单id ---> 扔到延迟队列 ---> 延迟队列消费进程不停获取30分钟前(订单未支付)的订单 ---> 处理订单

具体代码如下:

1.EasySwooleEvent.php 注册redis连接池、注册延迟队列消费进程

2.扔到延迟队列

3.延迟队列消费进程

4.测试 浏览器访问,等待60秒查看

原文:https://www.cnblogs.com/superzwb/p/13276531.html

php swool 携程,EasySwoole-延迟队列-取消订单相关推荐

  1. Springboot----项目整合微信支付(引入延迟队列实现订单过期取消以及商户主动查单)

    前言 目前更新的是Springboot项目整合微信支付系列的文章,可以在我的主页中找到该系列其他文章,这一系列的文章将会系统介绍如何在项目中引入微信支付的下单.关单.处理回调通知等功能.由于前面创作经 ...

  2. 携程基于Storm的实时大数据平台实践

    来源:http://mp.weixin.qq.com/s?__biz=MzI4OTU3ODk3NQ==&mid=2247483881&idx=1&sn=04971941bf57 ...

  3. 携程、美团、飞猪备战2023

    相关部门前脚刚取消出行查验健康码和48小时核酸检测阴性证明,人们后脚就在网上订票准备出游,一时间三亚.重庆.西双版纳等旅游城市迎来旅游小高峰. 网络数据显示,12月中下旬以来,三亚和西双版纳等城市的酒 ...

  4. 携程鞠躬道歉背后:三个月被投诉149次,涉嫌欺诈被多次起诉

    点击上方"程序员大咖",选择"置顶公众号" 关键时刻,第一时间送达! 3月30日下午,深圳市消费者委员会发布微博,称携程公司于3月29日向深圳消委会提交了&qu ...

  5. RabbitMQ如何实现延迟队列?

    欢迎支持笔者新作:<深入理解Kafka:核心设计与实践原理>和<RabbitMQ实战指南>,同时欢迎关注笔者的微信公众号:朱小厮的博客. 欢迎跳转到本文的原文链接:https: ...

  6. 如何打动用户?携程用户体验实践分享

    进入Web2.0时代以来,用户体验(User Experience)逐渐在互联网站实践中被发掘.提炼和延展,它贯穿产品的整个环节,于细微处体现着价值,助推着商机,在企业快速成长的征途中将成为核心竞争力 ...

  7. rabbitMQ实现订单超时未支付自动取消订单

    前期准备 下面展示一些 内联代码片. 1.配置文件,导入jar包 server:port: 8983 spring:application:name: API-RABBITMQdatasource:t ...

  8. 干货 | 携程基于BookKeeper的延迟消息架构落地实践

    作者简介 本文作者magiccao.littleorca,来自携程消息队列团队.目前主要从事消息中间件的开发与弹性架构演进工作,同时对网络/性能优化.应用监控与云原生等领域保持关注. 一.背景 QMQ ...

  9. ribbonmq超时配置_使用RabbitMQ实现订单超时取消(延迟队列)

    使用RabbitMQ实现订单超时取消,大致流程: 生产者生产一条设置了TTL的延迟取消订单消息=>延迟队列交换机(通过绑定路由键)=>消息投递至延迟队列=>消息延迟队列时间到期=&g ...

最新文章

  1. iOS架构-静态库.framework之资源文件打包bundle(6)
  2. 液冷数据中心再获加持,北京数据中心PUE要低至1.118
  3. SpringBoot代码复用——thymeleaf提取导航栏并插入或替换元素
  4. mysql忽略列,MySQL:使用DISTINCT时忽略选定的列
  5. java学习笔记(七)数据库链接字符
  6. pixel和毫米怎么换算_赶紧收藏!小学阶段所有公式、单位换算、数量关系
  7. 《CSS世界》学习感想(持续更新)
  8. 蚁群算法原理及Matlab实现
  9. 【计算机图形学】几何
  10. ios 线条球_烧脑挑战画线给小球回家
  11. 为什么学小易显示服务器开小差,学小易搜题APP
  12. Http头:only-if-cached
  13. ldap服务器配置信息错误,ldap服务器概念配置看这一文就够了!
  14. Hides for Mac(隐藏程序Mac老板键)
  15. 《windows游戏编程大师技巧》第五章:DirectX基础知识和令人生畏的COM
  16. 微信商户平台结算周期T+1是什么意思
  17. Java期末考试程序设计—井字棋
  18. 医院设备管理系统-项目模板-毕业设计
  19. 讲师秀之7:林仕鼎谈架构设计与架构师
  20. 深度数据对比分析:阿里云服务器和腾讯云服务器那家好?

热门文章

  1. 新一代科学计算与系统建模仿真平台MWORKS发布预告
  2. 昨日种种皆成今我,切莫思量切莫哀
  3. 4005. 取石子游戏
  4. 微信nickname乱码 php,php版微信公众平台回复中文出现乱码问题的解决方法
  5. 给大家分享两套WordPress收费主题
  6. CYP音乐emlog主题免费版
  7. qq邮箱收信服务器imap,普通IMAP、POP邮箱的设置 教你使用iPhone邮件客户端管理QQ邮箱...
  8. 【转】钓鱼邮件攻击检测
  9. gophish配合邮件服务器,【CS】Cobalt Strike发送钓鱼邮件
  10. wx.getLocation接口申请