何为超大流量?
超大流量是一个很容易理解的意思!举个例子:现在国内疫情反弹,每个小区都要做核酸那么如果同一时间下来一大批人一起做核酸,那么这就是大流量,然后志愿者将人员进行分配排队让医务人员处理的过来那么这就叫“大流量处理”
同理:像阿里/京东/拼多多等一些网上商城平台,遇到比较大的活动或者购物节时他的一天的访问量就会剧增,达到一天上亿次访问有时候会更多,所以怎么让服务器能够同时支撑这么大的流量就成了一些大厂必须要掌握的问题!
下面给大家分享一份由一位大牛整理的【十亿级并发系统顶级秒杀教程】觉得不错的小伙伴可以....(懂不)
基础篇
-
性能优化原则
“天下武功,唯快不破”。性能是系统设计成功与否的关键,实现高性能也是对程序员个人能力的挑战。不过在了解实现高性能的方法之前,我们先明确一下性能优化的原则。
高并发系统设计的三大目标:高性能、高可用、可扩展
什么是缓存
缓存,是一种存储数据的组件,它的作用是让对数据的请求更快地返回。
消息队列篇
-
我所理解的消息队列
关于消息队列是什么,你可能有所了解了,所以有关它的概念讲解,就不是本节课的重点,这里只聊聊我自己对消息队列的看法。在我历年的工作经历中,我一直把消息队列看作暂时存储数据的一个容器,认为消息队列是一个平衡低速系统和高速系统处理任务时间差的工具,
分布式服务篇
-
一体化架构的痛点
先来回想一下,你当初为什么选用了一体化架构。在电商项目刚刚启动的时候,你只是希望能够尽量快地将项目搭建起来,方便将产品更早地投放市场,快速完成验证。
维护篇
实战篇
异步处理
异步也是一种常见的高并发设计方法,我们在很多文章和演讲中都能听到这个名词,与之共同出现的还有它的反义词:同步。比如,分布式服务框架 Dubbo 中有同步方法调用和异步方法调用,IO 模型中有同步 IO 和异步 IO。
那么什么是同步,什么是异步呢?以方法调用为例,同步调用代表调用方要阻塞等待被调用方法中的逻辑执行完成。这种方式下,当被调用方法响应时间较长时,会造成调用方长久的阻塞,在高并发下会造成整体系统性能下降甚至发生雪崩。异步调用恰恰相反,调用方不需要等待方法逻辑执行完成就可以返回执行其他的逻辑,在被调用方法执行完毕后再通过回调、事件通知等方式将结果反馈给调用方。
异步调用在大规模高并发系统中被大量使用,比如我们熟知的 12306 网站。当我们订票时,页面会显示系统正在排队,这个提示就代表着系统在异步处理我们的订票请求。12306 系统中查询余票、下单和更改余票状态都是比较耗时的操作,可能涉及多个内部系统的互相调用,如果是同步调用就会像 12306 刚刚上线时那样,高峰期永远不可能下单成功。
而采用异步的方式,后端处理时会把请求丢到消息队列中,同时快速响应用户,告诉用户我们正在排队处理,然后释放出资源来处理更多的请求。订票请求处理完之后,再通知用户订票成功或者失败。处理逻辑后移到异步处理程序中,Web 服务的压力小了,资源占用的少了,自然就能接收更多的用户订票请求,系统承受高并发的能力也就提升了。