微博热搜、天猫秒杀、12306抢票,都是高并发,难点相同吗?

又是一年春运抢票时,12306 又挂了。同为高并发,微博热搜、天猫秒杀、12306 抢票有什么不同呢?

本文完全基于个人的有限的经验和了解,如果文中有什么问题还请大家一起讨论和指正。

微博热搜

「微博热搜」是一个典型的读多写少场景。读今日的热点新闻,写自己的微博评论。

作为一个后端开发,看到“读多写少”,第一反应就应该想到要加缓存。

可是,为什么微博总是宕机,抵挡不住 xxx 明星出轨新闻流量?

对微博来说,难点在于热点无法预测,在面对突发流量时,如何快速扩容。

电商秒杀

电商秒杀的大部分做法都是先定日子,然后上报要参与的秒杀商品,最后倒计时秒杀。

也就是说,什么时候会有秒杀活动,哪些商品会参与秒杀,这些数据在秒杀前服务端是都可以获取到的。

而这些数据,也正是关键的“热点数据”。

有了热点数据之后,服务端可以在秒杀开始前,先加载好相关热点数据的缓存,做好预热。

同时,在秒杀前做好相应的限流、扩容准备,已应对即将到来的突发流量。

秒杀的限流,可以从客户端开始做起,js 动态的 sleep 一会,延迟请求,让用户看一会秒杀的排队动画。

至于服务端,完全可以只由一台服务器真正的处理用户秒杀请求,别的服务器可以不操作任何数据,只记录用户秒杀参与日志。

12306 抢票

12306 抢票是一个类秒杀的业务,其核心为:查票、买票。

那么,12306 的秒杀和电商的秒杀有什么不一样吗?

电商秒杀:秒杀的对象是商品,一个商品的 sku 个数总是有限的,客户端直接将用户想要购买的 skuId 传给服务端即可。

12306 抢票:秒杀的对象是票。“票”是一个很特殊的商品,比如从杭州到北京,沿路会经过若干各站点。起始站点、车次、时间,各种不同的选择会组合出各种不同的结果,即便是“查票”这一个功能,服务端可能也需要大量的计算。不同的组合方式可能就是不同的下单行为,而秒杀,直接秒对应的商品即可。

原文地址:https://www.cnblogs.com/coderxiaohei/p/12114598.html

时间: 2024-10-07 14:06:58

微博热搜、天猫秒杀、12306抢票,都是高并发,难点相同吗?的相关文章

高并发高性能场景(抢购、秒杀、抢票、限时竞答)解决方案

技术指标: PV(Page View, 页面浏览量)在千万级别QPS(Query Per Second, 每秒处理请求数)在百万级别数据量在千亿级别接口响应速度不能超过150毫秒用户提交请求到页面呈现不能超过3秒 架构设计:1. 从LAMP架构转为面向服务架构(服务可以用多种开发语言实现,不受一种开发语言限制)2. 对海量数据做Sharding分片,分库分表3. 从有状态服务改为无状态接口服务(便于分布式部署)4. 精心设计的数据层(存储.压缩.索引)5. 分布式系统最终瓶颈(CPU.内存.存储

四、基于HTTPS协议的12306抢票软件设计与实现--水平DNS并发查询分享

一.基于HTTPS协议的12306抢票软件设计与实现--实现效果 二.基于HTTPS协议的12306抢票软件设计与实现--相关接口以及数据格式 三.基于HTTPS协议的12306抢票软件设计与实现--垂直查询效果分享 哎,又过春节了,同志们又要抢票回家了,这票卖的可真快啊,瞬间的功夫就没有票了,一票难求啊! 这两天闲着没事,刚好又要抢春节的票了.就把原来写的抢票软件给打开试了一下,发现居然不能查票了.于是就又改了一下. 事实上是改了两下,一是:让原来的程序能够用起来(适应新接口),而是加上了水平

自制 12306 抢票工具 5秒内完成订票

五一假期到了,身边朋友订票又难订了,抽空做了个订票的小工具,试试了一下,几秒内就可以完成订票过程,效果还不错:(订的快慢取决于验证码的输入速度) 目前验证码自动识别功能还没有加,如果有哪位朋友对验证码识别这块有比较好的建议的,可以告诉我qq:909 888 791,先谢了! 自制 12306 抢票工具 5秒内完成订票,码迷,mamicode.com

从零实现一款12306抢票软件(一)

https://zhuanlan.zhihu.com/p/37101955 从零实现一款12306抢票软件(一) 张小方 公众号:easyserverdev.资深开发工程师,擅长客户端与高性能服务器的设计与架构. ?关注他 28 人赞了该文章 写在前面的话 每年逢年过节,一票难求读者肯定不陌生.这篇文章,我们带领读者从零实现一款12306刷票软件,其核心原理还是通过发送http请求模拟登录12306网站的购票的过程,最后买到票. 关于http请求的格式和如何组装http数据包给服务器发送请求,我

PythonGUI+爬虫-从零打造12306抢票软件

课程介绍:此项目为GUI+爬虫+反反爬虫+网络多线程+自动打码+缓存机制+数据清洗等多项技术综合一体的项目;开发中更能体验抓包思路, MVC, 分层, 封装重构等思想 课程目录:001.12306抢票软件项目-项目展示002.12306抢票项目开篇-2019新年快乐!003.抢票软件项目-项目需求和原型图004.网络基础-网络-IP-域名概念005.网络基础-客户端和服务器概念006.网络基础-客户端和服务器角色007.网络基础-HTTP协议-上008.网络基础-HTTP协议-中009.网络基础

2020不平凡的90天,Python分析三个月微博热搜数据带你回顾

前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:刘早起早起 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http://t.cn/A6Zvjdun 北京时间4月3日凌晨,全球新冠病毒感染人数突破100万,死亡人数超过5万.而这一切都在2020年刚开始的三个月内发生.可能你觉得这三个月很快,有些事情已经逐渐忘记,而互联网的记忆不会消失,数据也会说话.因此作者抓取了2020年1月1日至4月2日的每

分享12306抢票心得-最终篇

针对最近12306服务端封插件(切DNS,切站)的杀手锏,有了比较好的应对方案.此文是最后的分享,借此对几年来的研究心得做个总结. 12306终极杀手锏 12306在上周做了一些重大改变,在服务端实施了插件封杀 一定时间内:切不同站,切不同DNS,弹出“查询失败”,自动被踢出 不用插件,手动稍微换下站查询也会被踢 基本上封杀了现有的所有插件 解决方案及原理 (Chrome)用IFrame或AJAX在后台不停检查登录状态,非登录就自动OCR登录 Fishlee的方案:启用6次匿名查询,再来一次正式

如何用python写一个简单的12306抢票软件

所谓抢票实际上是在开始放票的一瞬间第一个发出请求并点击预订.作为程序员的我们,完全可以让程序来做这件事.我花了几个小时写了一个demo.用到的工具集有:Python3.6, Selenium, chromdriver. 程序本身就是流程性的东西,没有什么可介绍的.代码如下 #coding=utf-8 from selenium import webdriver from time import sleep import traceback TICKET_URI = 'https://kyfw.1

12306抢票客户端(1)账户登录Post表单

每次回家坐火车都需要使用软件来抢票,而前段时间爆出了"12306网站密码大规模泄露"的事件.泄露的罪魁祸首就是那些第三方抢票软件!因此,自己写一个抢票软件来抢票,无毒无害,效率更高. 1. 破解登录表单 12306在登录账户时,使用了验证码.加载动态js.查找抢票软件关键词.加密表单内容的反抢票软件措施,因此需要搞清登录表单的每一个值是如何得到的. 登录时,需要向 https://kyfw.12306.cn/otn/login/loginAysnSuggest 这个url发送一个POS