怎么设计高并发网站?

一、大纲

怎么设计高并发网站?这不是由一个环节决定的。比如我们说nginx支持高并发,但是如果只有nginx,不能支撑整个网站的高并发。那么我的思路如下:


1.要实现高并发需要从一个网络请求的过程来思考,参考从输入URL到页面加载完成的过程中都发生了什么事情?》,如何保障每个环节的高并发?上下游是怎么相互配合的?

2.扩容和容错,保证能应付更大量的请求。


二、高并发高流量网站

对于一个高并发高流量的网站来说,任何一个环节的瓶颈都会造成网站性能的下降,影响用户体验,进而造成巨大的经济损失。
在全互联网层面,应该使用分布式设 计,缩短网站与用户的网络距离,减少主干网上的流量,以及防止在网络意外情况下网站无法访问的问题。
在局域网层面,应该使用服务器集群,一方面可以支撑更 大的访问量,另一方面也作为冗余备份,防止服务器故障导致的网站无法访问。
在单服务器层面,应该配置操作系统,文件系统及应用层软件,均衡各种资源的消耗,消除系统性能瓶颈,充分发挥服务器的潜能。
在应用层,可以通过各种缓存来提升程序的效率,减少服务器资源消耗。
另外,还需要合理设计应用层程序,为以后的需求变更,扩容做好准备。

 典型高并发高流量网站的架构如下:


互联网层:常用的方案有CDN/镜像网站。

局域网层:第四层交换技术负载均衡,包括硬件解决方案F5和软件解决方案LVS。

单服务器层:常见的优化技术有Socket优化,硬盘级缓存技术,内存级缓存技术,CPU与IO平衡技术(即以运算为主的程序与以数据读写为主的程序搭配部署),读写分离技术等。

应用程序层:根据网站特点有不同的架构,选用的方案也有不同,常见的是先来一层nginx/Apache,再访问应用程序。


参考文章:高并发高流量网站架构详解

发布了37 篇原创文章 · 获赞 9 · 访问量 19万+

猜你喜欢

转载自blog.csdn.net/zzyymaggie/article/details/43610561