如何制作一个支撑高并发大流量的系统?

最近不少小伙伴们都在问我:高并发专题我学了不少文章了,但是如何设计一个高并发的系统我还是一脸懵逼!这个问题怎么解决呢?其实,相信不只是问我的这些小伙伴有这个困惑,就连工作(入坑)了好几年的开发人员也都有这样的困惑:我学习了很多的高并发课程,也看了不少的高大上的文章,可就是不知道怎么去设计一个支撑高并发大流量的系统。针对小伙伴们的疑惑,这里,我就把一些设计高并发大流量的常规思路分享给大家,不一定完全正确,设计高并发大流量系统本来就是一个仁者见仁、智者见智的事情,只要是符合自身业务场景的架构思路,都是好的架构思路,架构本身来说就是没有一个完全正确的架构,而是尽量符合当时自身的业务场景,并且能够良好的支撑业务的负载。

高并发架构相关概念

什么是并发?

并发是指并发的访问,也就是某个时间点,有多少个访问同时到来;

通常如果一个系统的日PV在千万以上,有可能是一个高并发的系统,这里需要注意的是:只是有可能是一个高并发的系统,不一定是一个高并发的系统。

并发数和QPS是不同的概念,一般说QPS会说多少并发用户下QPS,当QPS相同时,并发用户数越大,网站并发处理能力越好。当并发用户数过大时,会造成进程(线程)频繁切换,反正真正用于处理请求的时间变少,每秒能够处理的请求数反而变少,同时用户的请求等待时间也会变大。找到最佳线程数能够让web系统更稳定,效率更高。

并发数 = QPS*平均响应时间

高并发具体关心什么?

QPS: 每秒请求或查询的数量,在互联网领域,指每秒响应请求数;

吞吐量: 单位时间内处理的请求量(通常由QPS与并发数决定);

响应时间: 从请求发出到收到响应花费的时间,例如一个系统处理一个HTTP请求需要100ms,这个100ms就是系统的响应时间;

PV: 综合浏览量,即页面浏览量或者点击量,一个访客在24小时内访问的页面数量;

UV: 独立访客 ,即一定时间范围内相同访客多次访问网站,只计算为一个独立的访客;

带宽: 计算带宽大小需要关注两个指标,峰值流量和页面的平均大小 ;

日网站带宽可以使用下面的公式来粗略计算:


  1. 日网站带宽=pv/统计时间(换算到秒)*平均页面大小(单位kB)*8 
【声明】:芜湖站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

相关文章