主要内容

  • 高并发系统架构面试的时候被问到该怎么说?
  • 一个高并发系统中有哪些重要指标项?
  • 从真实需求触发拆解淘宝网秒杀系统

消息中间件解耦、消峰、限流
分布式锁,限流,熔断,分布式事务,阿里云动态扩容

高并发系统架构在面试的时候应该怎么说

不要聊具体应用的技术,应该提升到架构方面的角度聊。

问:之前做过项目有没有并发量比较高的技术点?
要明确:多高的并发量?1000人在线/每秒10T网络流量/接口的访问频次…哪个指标?
TPS

  • 互联网项目:
  • 传统应用

多条记录写入多个数据库:是事务
读数据库缓存:只读也叫事务,只要访问了资源,就叫事务
静态文件的访问是不是TPS?没有严格的定义
一般来说,消耗资源的叫TPS,查询操作叫QPS

一般请求分为两种:
纯静态资源请求、动态资源请求
QPS:纯静态请求不会打到系统里,会放在CDN上,所以聊QPS不是很专业
TPS:业务接口请求,才是衡量并发量的重要指标,例如瓜子二手平时TPS能达到300~500,峰值1000~1500,58同城平时500~1000,12306平时1000~200012306的问题不在于TPS高,而在于一致性问题,网上卖出票,线下也要扣掉。会因为锁机制让用户连接超时,导致12306不稳定

一个项目的TPS有多高,要看总的请求数。拆分为不同的系统,流量分摊到不同的系统上。
一次请求Q可以有好几个Transaction,或者跨了别的系统(微服务)

TPS怎么算的:TPS是指一秒内完成多少个请求,代表处理能力。

  1. 已知请求数量,计算速率:TPS = 每个请求消耗书时间 / 1秒
  2. 限制速率:一模用户
  3. 通过压测得到速率

动态请求包括:推荐系统、当前会话的状态、关注的人
主页index.html可以放在CDN上

APP、Web
Web服务的QPS极高,如何降低系统负载,降低网络带宽?如果一次请求拉一个CSS回来,如果一个页面有20个CSS,浏览器要发20次请求,用户体验肯定不好。
一次请求拉1个css文件和一次请求拉20个css文件哪个好?文件大小也是要考虑的瓶颈,文件过大,网络包的开销较大,如果此时网络出现抖动(跳ping),会出现一个没有样式的页面。所以一次请求先把基本样式拉回来,后面的请求再拉额外的CSS做覆盖操作
基于nginx开发的Tengine可以合并请求,nginx直接把请求发送给内核,返回给网卡,不再经过nginx
雪碧图:可以用css把大图拆分

APP可以通过缓存或预加载的方式(默认css,logo等,可以提前下发到包里,或做缓存,一次加载之后存在本地)


微服务系统架构里都有网关
微服务三原则:不主动、不拒绝、不负责
你给我活,我就干,我把请求转发给你,你爱接不接,我不管。(解耦)
网关做网关的活,服务做服务的活。相互不影响。

找之前的项目里是否有高并发的点
高并发场景:银行系统里的登录、大学选课、考试交卷
聊天:ERP系统用的通知机制(后台入口,通知放进去,不可能所有通知一起发完,可以用mqtt)客户端分两类:支持socket的做长连接,不用socket可以做轮询。取决于客户端支不支持长连接。
数据批量上报

高并发相关的主要技术栈
Nginx做网关
Nginx做二次开发
Nginx直接写博客:用C/Lua
Nginx没有会话的概念,性能极高。Tomcat最消耗性能的是会话。用Netty开发的也是可以的。简单情况下区别不大,

Nginx做反向代理,但是不适合做机房的总入口

淘宝网秒杀需求分析与实现 - 公开课笔记相关推荐

  1. 淘宝网林昊:行走在技术巅峰

    林昊领导的是淘宝网"秒杀"活动的技术支持团队.在此次"战役"之后,林昊对淘宝网的技术实力有了更清晰的认识,他更要学习国外顶尖的网站,帮助淘宝网更上一层楼. 他是 ...

  2. 淘宝网2条新开发者规则,堪称黑虎掏心直接秒杀90%以上,个人淘宝客开发者

    今天,我发现淘宝客应用不能获取淘宝客数据了,我就去应用中心去看了下,发现淘宝客API接口已经不在[基础开放权限]中了,而是出现在增值业务中了,如下图    下面是淘宝网公告的新的[淘宝客应用开发者规范 ...

  3. 《淘宝网开店 拍摄 修图 设计 装修 实战150招》一一1.17 如何选择合适的拍摄地点...

    本节书摘来自异步社区出版社<淘宝网开店 拍摄 修图 设计 装修 实战150招>一书中的第1章,第1.17节,作者: 葛存山,更多章节内容可以访问云栖社区"异步社区"公众 ...

  4. 手机淘宝以秒杀抢滩校园市场

    手机淘宝以秒杀抢滩校园市场 有人说,世上有两类人的钱是最好赚的,一类是女人,另一类就是孩子.因为女人天生就是购物狂,她们有太多的购物倾向.而孩子,主要是学龄中的孩子,无论是哪个"阶层&quo ...

  5. 淘宝网的技术发展史(二) ——Oracle替换MySQL

    本文是<淘宝网的技术发展史>系列连载文的第二篇,在告别个人网站时代后,淘宝网的技术发展迎来了由Oracle开启的第二个时代. 文/淘宝技术大学培训专家 子柳 MySQL撑不住了 淘宝网作为 ...

  6. 从个人网站到淘宝网 仰观Java时代淘宝的技术发展

    从2003年的一个个人对个人(C2C)的商品交易网站到如今的淘宝网,其实在作为个人网站发展的时间里并不长.那么在这段时间里,淘宝究竟是如何发展的呢?在这篇文章里我们将找到淘宝网的发展历史以及所用到的技 ...

  7. 全国首例!法院判售假者在淘宝网说“对不起”

    "我们的售假行为损害了消费者的利益和淘宝网的商誉,在此我们向平台的消费者.其他诚信经营的商家.淘宝网致歉." 5月22日,这样一则致歉声明"现身"淘宝网首页公告 ...

  8. 淘宝网热浪引擎平台资费规则

    淘宝网日前发布<热浪引擎平台资费规则>变更公示通知(以下简称公告). 公告称,为了规范和提升淘宝直播热浪引擎平台的市场管理秩序,为商家和主播.达人等多方营造安全安心的交易合作环境,在此通知 ...

  9. 淘宝购物券,淘宝网的购物券怎么用

    小女子作为一个80后的宝妈,每天除了照顾老公孩子的起居生活外,最舒坦最愉快的事情就是一个人静静的坐在电脑逛天猫淘宝,淘一些自己喜欢或者家里需要的宝贝.我自认为自己是一个非常精明的,会货比三家的&quo ...

最新文章

  1. mac系统添加VSCode到右键菜单(转)
  2. 面试官:你简历中写用过docker,能说说容器和镜像的区别吗?
  3. 最牛程序员,雷军年度演讲:最好的投资,就是投资自己
  4. 《剑指offer》c++版本 12. 矩阵中的路径
  5. NYOJ 741 数学家ST
  6. windows系统环境变量过长解决方案(PATH too long installer unable to modify Path)
  7. 2021牛客OI赛前集训营-方格计数【计数,dp】
  8. mysql 在查询语句返回的列中包含一列表示该条记录在整个结果集中的行号
  9. 你的核心竞争力真的是技术么?
  10. Git使用疑难问题分析
  11. 2021年华为杯数学建模竞赛E题——信号干扰下的超宽带(UWB)精确定位问题
  12. vscode彩色括号
  13. 12张图片html代码,利用JS实现多张图片合成一张图片代码
  14. 如何使用 iOS 7 的 AVSpeechSynthesizer 制作有声书(1)
  15. 禁止网页 切屏 切换标签
  16. C++--struct的用法
  17. 贪心背后的故事Codeforces 995B(Suit and Tie)
  18. 【BZOJ3503】【Cqoi2014】和谐矩阵 高斯消元,解异或方程组
  19. 用python编写名片_python实现简单名片管理系统
  20. 谷歌最新的百分比布局库的示例项目

热门文章

  1. 蓝桥杯 - 牌型种数(dfs)
  2. UVA690 Pipeline Scheduling 流水线调度
  3. Carbon和Polacode教程
  4. Web开发-Django模型层
  5. c oracle帮助类,C#DbHelperOra,Oracle数据库帮助类
  6. CSP-2019总结
  7. 逆向工程核心原理学习笔记(九):小端序标记法2
  8. 【Boost】boost库中timer定时器
  9. cmake Debug模式和Release模式
  10. \sdk\include\wspiapi.h(47) : error C2265: 'Unknown' : reference to a zero-sized array is illegal 解