万亿级流量高可用延时服务架构设计
在后端开发中,高并发电商业务的开发、架构设计难度堪称一绝,而在电商系统中,又数大量定时任务的业务场景最为棘手。所以,一提起电商系统,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天实战精华
万亿级流量高可用延时服务架构设计相关推荐
- Mobvista亿级流量背后的云服务架构支撑
Mobvista联合创始人.技术VP黄伟坚接过我的名片时,兴奋地说:"我们在北京也有办事处".这也让我能深切的感受到其作为Mobvista一员的骄傲.成立于2013年的Mobvis ...
- 微服务_SpringCloud微服务架构实战:高并发微服务架构设计
高并发微服务架构设计 作为一个 IT 从业人员,我们经常会碰到类似于下面的一些问题: 单个项目巨大而沉重,难以维护. 系统稳定性得不到更有效的保证. 怎样才能持续地提升系统的性能. 怎样才能快速地响应 ...
- 揭秘淘宝双11,亿级流量高并发是怎么抗住的?
前言 为了帮助初级开发者快速掌握高并发.网络编程.微服务.海量数据的处理这些实用技术,本文以"理论+范例"的形式对各个知识点进行了详细的讲解,力争让读者在实践中快速掌握相关知识. ...
- 高可用 Redis 服务架构分析与搭建
基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经常在业务中用其存储用户登陆态(Session存储),加速一些热数据的查询(相比较mysql而言,速度有数量 ...
- 高可用Redis服务架构分析与搭建
作者:HorstXu 原文:https://www.cnblogs.com/xuning/p/8464625.html 基于内存的Redis应该是目前各种Web开发业务中最为常用的Key-Value数 ...
- php redis 投票_高可用Redis服务架构分析与搭建
HorstXuhttps://www.cnblogs.com/xuning/p/8464625.html 基于内存的Redis应该是目前各种web开发业务中最为常用的key-value数据库了,我们经 ...
- java hbase流量日志,Spark+Hbase 亿级流量分析实战(日志存储设计)
接着上篇文章 百亿级流量实时分析统计 - 数据结构设计 我们已经设计好了日志的结构,接下来我们就准备要开始撸代码了,我最喜欢这部分的环节了,可是一个上来连就撸代码的程序肯定不是好程序员,要不先设计设计 ...
- 互联网公司高并发图片存储服务架构设计一
非常感谢http://blog.csdn.net/lizhitao/article/details/9323137 高并发图片存储服务架构技术学习 https://www.itkc8.com 互联网公 ...
- 京东OLAP亿级查询高可用实践
OLAP(On-Line Analytical Processing)是联机分析处理,它主要用于支持企业决策和经营管理,是许多报表.商业智能和分析系统的底层支撑组件,支持从海量数据中快速获取数据指标. ...
最新文章
- 未转变者怎么重置服务器,未转变者怎么把服务器关掉 | 手游网游页游攻略大全...
- HTML中Select的使用详解
- IOS常用代码总结 - 第三方库部分
- CentOS7安装iptables防火墙的方法
- 美团外卖Android Lint代码检查实践
- 神龙架构没那么难理解—图解世界领先的阿里云神龙架构(一)缘起
- uniDBGrid导入数据库(转红鱼儿)
- php session传数组,php把数组存到session的方法
- 沃尔沃汽车与高德合作:首款纯电动汽车XC40 RECHARGE采用高德方案
- python reduce函数怎么用的_我如何仅通过使用reduce函数在python中创建单...
- axios基于常见业务场景的二次封装
- sql 根据省份证号码提取年龄
- springboot 图片大小压缩
- 找不到主类或无法加载主类
- 未来精英论坛3.0 | 探秘桔厂科技和人文
- 30本从禁书到名著的阅读书单
- 文件打开模式r,w,a,r+,w+,a+的区别和联系
- 加入Web前端学习还有市场吗?自己是否适合学习前端
- 贝壳找房户外拓展(中等) 扫描线
- codeforces1438C Engineer Artem (#682 Div2)
热门文章
- 编写jmeter测试用例_Jmeter | 实现接口自动化设计说明
- 微型计算机10053拆装,微型计算机的程序设计概要1.ppt
- java工程如何跑起来的_你编写的Java代码是咋跑起来的?
- java上传头像插件_JSP+SpringMVC框架使用WebUploader插件实现注册时候头像图片的异步上传功能...
- roundcube邮箱手机端_求一款能够云备份的安卓手机便签记事本?
- 拦截游戏窗口被移动_保障电脑流畅,游戏不卡,良心软件推荐
- 算法题3 二分查找法
- [Python]网络爬虫(七):Python中的正则表达式教程
- 64bit centos如何编译 32bit的程序
- matlab中图像处理的基本函数(1)