高并发大型网站架构设计
高性能服务器架构思路——分布式系统概念>>> » 一个大型的网站网站应该由如下6个子系统组成 负载均衡系统 反向代理系统 Web服务器系统 分布式存储系统 底层服务系统 数据库集群系统 为什么要做高并发系统设计? 事实上,针对于任何单一的网络服务器程序,其可承受的同时连接数目是有理论峰值的,通过C++中对TSocket的定义类型:word,我们可以判定这个连接理论峰值是65535,也就是说,你的单个服务器程序,最多可以承受6万多的用户同时连接。但是,在实际应用中,能达到一万人的同时连接并能保证正常的数据交换已经是很不容易了,通常这个值都在2000到5000之间,能达到上万已经很不错了。目前的门户网站动辄几千万的访问量,所以,高并发的系统架构在所难免。 整体架构 真实中的网站架构也许并不如此也可以实现高性能。但是高性能的网站莫不过如此。如下图所示。 第一 负载均衡系统 负载均衡系统分为硬件和软件两种。 硬件负载均衡效率高,但是价格贵,比如 F5等。 软件负载均衡系统价格较低或者免费,效率较硬件负载均衡系统低,不过对于流量一般或稍大些网站来讲也足够使用,比如 lvs。 第二 反向代理系统 目前普遍使用Squid或者nginx,或者Lighttpd,Varish。 这四者又各自有很大的差异。 Squid:主要用来做反向代理,使用内存+硬盘 Nginx:可以反向代理+负载均衡+WWW解析