在后端开发中,高并发电商业务的开发、架构设计难度堪称一绝,而在电商系统中,又数大量定时任务的业务场景最为棘手。所以,一提起电商系统,MQ的使用是一个绕不开的话题。

像阿里、京东这样有电商业务的公司,和抖音、快手这样的电商后起之秀,延时队列方案是面试重点考察的核心之一,    比如:

  • 延时队列都有哪些方案?

  • 如何实现一个秒级延时消息系统?

  • Kafka、RabbitMQ、RocketMQ适用场景分别是什么?

 1 

电商业务面对的延时消息挑战

提起延时消息场景,大多数人马上就会想到以下几个:

  • 实现买卖双方在线沟通的IM系统

  • 自动取消长时间未支付的订单

  • 买家收货一段时间以后自动确认打款

在业务规模小时,定时扫库就可以解决问题,但会有1min左右延迟。业务规模大时,数据库读取压力会急剧上升,甚至会拖垮数据库,这时就需要更优雅的技术方案解决定时任务问题了。

 2 

转转二手电商的高可用延时消息中台

转转作为58集团旗下的二手电商APP,近两年发展迅猛,迅速成为国内数一数二的二手交易平台。随着业务不断发展,转转延时消息方案亟待升级和变革。

在转转自研的高可用延时消息方案中,创新引入时间轮算法,高效、高精度地实现了延时消息场景。

Current Pos指向数组中某个桶,每秒钟向下移动一次,指向下个桶

而由于时间轮将数据放在应用进程内存中,可靠性较差,转转技术团队又再次迭代架构,选择用Redis中的List和String两种数据类型实现时间轮,提高了数据可靠性,同时可以多个实例访问时间轮,避免了单点问题。

Redis 实现时间轮

但这时,新的问题又出现了。现在的时间轮可以满足秒级定时任务,如果时间跨度较大,超大的轮子会占用非常多内存资源;另一方面,目前的时间轮方案固然惊艳,但它还只是一个逻辑功能,其他业务方只能不断重复造轮子才能使用……又该如何解决?

 3 

手把手教你打造延时消息中台

这套优雅架构由前转转高级架构师/技术委员会核心成员陈东(东哥)设计并落地,完美解决了转转的延时消息业务需求,一经公开就在业内引起了不小反响。

现在,东哥将这次宝贵的企业级实战,整理成了一堂《手把手教你打造一个高可用延时消息中台》公开课,直播中,东哥不仅会详尽讲解这套方案的精华所在,还会和大家畅谈 2022 程序员的职业抉择与弯道超车4月12日~13日晚20:00,直播间不见不散!公开课原价299元,限时0元免费报名!

课程市场价299元

前100名开放0元免费学

仅限48h,即将涨价!

获得Top1%架构师的2天实战精华

三流Java撸代码,二流Java搞框架,一流Java…相关推荐

  1. python sqlserver 列名_报表自动化,三流用Excel,二流用Python,一流用它

    从事数据工作的人都知道,企业每天都要做很多报表,这个过程当中会涉及到很多手工操作和常规性报表.为了减少人工介入,节省工作时间,我们会想办法将一部分操作用工具或代码来替代,这个过程就称为报表自动化. 报 ...

  2. excel sql python_报表自动化,三流用Excel,二流用Python,一流用它

    从事数据工作的人都知道,企业每天都要做很多报表,这个过程当中会涉及到很多手工操作和常规性报表.为了减少人工介入,节省工作时间,我们会想办法将一部分操作用工具或代码来替代,这个过程就称为报表自动化. 报 ...

  3. python报表设计工具_报表自动化,三流用Excel,二流用Python,一流用它

    从事数据工作的人都知道,企业每天都要做很多报表,这个过程当中会涉及到很多手工操作和常规性报表.为了减少人工介入,节省工作时间,我们会想办法将一部分操作用工具或代码来替代,这个过程就称为报表自动化. 报 ...

  4. 常见的Java审计代码函数关键字_转载:Java代码审计汇总系列(一)——SQL注入

    原文链接:https://cloud.tencent.com/developer/article/1534109 一.代码审计 相比黑盒渗透的漏洞挖掘方式,代码审计具有更高的可靠性和针对性,更多的是依 ...

  5. java情话代码,单身狗福利!利用java实现每天给对象发情话,脱单指日可待!

    引言 最近看到一篇用js代码实现表白的文章,深有感触. 然后发现自己也可以用java代码实现,然后就开始写代码了,发现还挺有意思的,话不多说开搞 实现思路: 使用HttpClient远程获取彩虹屁生成 ...

  6. java商城管理系统_基于SSM框架的JAVA商场管理系统

    每天记录学习,每天会有好心情.*^_^* 今天记录的项目是商场管理系统,这个项目是这么回事:随着人们对手机的需求日益增多,手机卖场的规模也随之扩大.众多手机卖场为了能够高效的运作,获得更大的收益,逐步 ...

  7. java项目管理系统_基于SSM框架的JAVA科研项目管理系统

    每天记录学习,每天会有好心情.*^_^* 今天记录的项目是科研项目管理系统论文,这个项目是这么回事:随着计算机应用水平的提高和科研管理的规范化和制度化,建立一套适用于科研院所科研管理工作的科研项目管理 ...

  8. java快速排序代码6_分分钟掌握快速排序(Java / Scala 实现)

    今天我们来学习一种不浪费空间.效率还非常高的排序算法--快速排序. 算法思想 快速排序的基本思想--分治法. 1. 选取基准数(pivot):选数组中的第一个或者中间一个. 2. 分区:将数组中比基准 ...

  9. java用代码实现星期菜谱_基于JAVA的菜谱大全接口调用代码实例

    基于JAVA的菜谱大全接口调用代码实例 代码描述:基于JA V A的菜谱大全接口调用代码实例 接口平台:聚合数据 import java.io.BufferedReader; import java. ...

最新文章

  1. MarkDown编辑器基础使用教程
  2. BGP水平分割的疑惑
  3. pytorch实现人脸表情识别
  4. linux引数列项目过长,Linux 命令个人总结====== 未完待续 个人认为比较重要
  5. 【错误记录】AS 编译报错 ( Android Support plugin 版本太高 | 升级 Android Studio 到最新版本 )
  6. zoj-4011(动态规划)
  7. 这份HCIE-Routing Switching笔试试题,你能答对几道?
  8. HDOJ 4876 ZCC loves cards
  9. 以后出去找工作,只能说自己是产品策划了
  10. A股收盘:深证区块链50指数跌1.75%,*ST群兴、亚联发展涨停
  11. 健康生活--16个健康习惯
  12. erlang的随机数 及 random:uniform()函数
  13. SSD人脸检测以及FDDB检测结果分析
  14. C语言malloc函数详解
  15. java数字时钟代码_Java编程小实例—数字时钟的实现代码示例
  16. 程序员的“三十而已”,你都30岁了,职业该如何规划?
  17. 五年50起并购、股价持续上扬,复盘IBM的物联网进化之路
  18. 数字音频:音频采样率和位深度
  19. 博凌科技携手中企动力用互联网思维卖乐器
  20. Logback 学习笔记

热门文章

  1. 进口吲哚菁绿活化脂,ICG-NHS ester,Indocyanine Green - Activated Lipid
  2. 闪存存储特性以及文件系统应用
  3. JavaScript之减速运动的实现
  4. 天盾linux数据恢复,天盾Mac数据恢复软件
  5. 面部表情识别3:Android实现表情识别(含源码,可实时检测)
  6. 智能音箱里小度、小爱、天猫精灵哪个更加好?(上)
  7. 山东联通某地市分公司科技岗面经+经验分享
  8. (OpenCV)图像目标尺寸检测
  9. 批处理为win7桌面添加计算机图标,win7桌面图标不见了图文解决方案
  10. 关于可计算、图灵机及CPU性能