在后端开发中,高并发电商业务的开发、架构设计难度堪称一绝,而在电商系统中,又数大量定时任务的业务场景最为棘手。所以,一提起电商系统,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天实战精华

万亿级流量高可用延时服务架构设计相关推荐

  1. Mobvista亿级流量背后的云服务架构支撑

    Mobvista联合创始人.技术VP黄伟坚接过我的名片时,兴奋地说:"我们在北京也有办事处".这也让我能深切的感受到其作为Mobvista一员的骄傲.成立于2013年的Mobvis ...

  2. 微服务_SpringCloud微服务架构实战:高并发微服务架构设计

    高并发微服务架构设计 作为一个 IT 从业人员,我们经常会碰到类似于下面的一些问题: 单个项目巨大而沉重,难以维护. 系统稳定性得不到更有效的保证. 怎样才能持续地提升系统的性能. 怎样才能快速地响应 ...

  3. 揭秘淘宝双11,亿级流量高并发是怎么抗住的?

    前言 为了帮助初级开发者快速掌握高并发.网络编程.微服务.海量数据的处理这些实用技术,本文以"理论+范例"的形式对各个知识点进行了详细的讲解,力争让读者在实践中快速掌握相关知识. ...

  4. 高可用 Redis 服务架构分析与搭建

    基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速度有数量 ...

  5. 高可用Redis服务架构分析与搭建

    作者:HorstXu 原文:https://www.cnblogs.com/xuning/p/8464625.html 基于内存的Redis应该是目前各种Web开发业务中最为常用的Key-Value数 ...

  6. php redis 投票_高可用Redis服务架构分析与搭建

    HorstXuhttps://www.cnblogs.com/xuning/p/8464625.html 基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经 ...

  7. java hbase流量日志,Spark+Hbase 亿级流量分析实战(日志存储设计)

    接着上篇文章 百亿级流量实时分析统计 - 数据结构设计 我们已经设计好了日志的结构,接下来我们就准备要开始撸代码了,我最喜欢这部分的环节了,可是一个上来连就撸代码的程序肯定不是好程序员,要不先设计设计 ...

  8. 互联网公司高并发图片存储服务架构设计一

    非常感谢http://blog.csdn.net/lizhitao/article/details/9323137 高并发图片存储服务架构技术学习 https://www.itkc8.com 互联网公 ...

  9. 京东OLAP亿级查询高可用实践

    OLAP(On-Line Analytical Processing)是联机分析处理,它主要用于支持企业决策和经营管理,是许多报表.商业智能和分析系统的底层支撑组件,支持从海量数据中快速获取数据指标. ...

最新文章

  1. 未转变者怎么重置服务器,未转变者怎么把服务器关掉 | 手游网游页游攻略大全...
  2. HTML中Select的使用详解
  3. IOS常用代码总结 - 第三方库部分
  4. CentOS7安装iptables防火墙的方法
  5. 美团外卖Android Lint代码检查实践
  6. 神龙架构没那么难理解—图解世界领先的阿里云神龙架构(一)缘起
  7. uniDBGrid导入数据库(转红鱼儿)
  8. php session传数组,php把数组存到session的方法
  9. 沃尔沃汽车与高德合作:首款纯电动汽车XC40 RECHARGE采用高德方案
  10. python reduce函数怎么用的_我如何仅通过使用reduce函数在python中创建单...
  11. axios基于常见业务场景的二次封装
  12. sql 根据省份证号码提取年龄
  13. springboot 图片大小压缩
  14. 找不到主类或无法加载主类
  15. 未来精英论坛3.0 | 探秘桔厂科技和人文
  16. 30本从禁书到名著的阅读书单
  17. 文件打开模式r,w,a,r+,w+,a+的区别和联系
  18. 加入Web前端学习还有市场吗?自己是否适合学习前端
  19. 贝壳找房户外拓展(中等) 扫描线
  20. codeforces1438C Engineer Artem (#682 Div2)

热门文章

  1. 编写jmeter测试用例_Jmeter | 实现接口自动化设计说明
  2. 微型计算机10053拆装,微型计算机的程序设计概要1.ppt
  3. java工程如何跑起来的_你编写的Java代码是咋跑起来的?
  4. java上传头像插件_JSP+SpringMVC框架使用WebUploader插件实现注册时候头像图片的异步上传功能...
  5. roundcube邮箱手机端_求一款能够云备份的安卓手机便签记事本?
  6. 拦截游戏窗口被移动_保障电脑流畅,游戏不卡,良心软件推荐
  7. 算法题3 二分查找法
  8. [Python]网络爬虫(七):Python中的正则表达式教程
  9. 64bit centos如何编译 32bit的程序
  10. matlab中图像处理的基本函数(1)