1、高负载网站架构设计,嘛玩意儿?运维?:,为啥就运维了?俺是搞寇丁的啊,运维工作与程序编写的关系,设计目标,1、使用廉价的软硬件设备,组建日PV1亿次以上的WEB架构。,2、架构可扩展性良好,如有更大负载压力可在当日内完成新架构的部署。,3、架构稳定,拥有良好的容错性。部分设备失效不影响正常的服务。,系统选型:,采用LINUX系统完成架构部署(kernel 2.6.0),原因:需要系统支持epoll(异步线程),放弃使用APACHE,APACHE提供的性能无法满足需求,采用nginx或cherokee作为httpserver,对于FASTCGI的支持较差,自身代码轻量,性能超群,目前MPM EV
2、ENT模块还不稳定,基本无法使用epoll,完善支持epoll与fastcgi,使用LVS技术实现httpserver负载均衡/分布式运算,分散访问压力到节点主机,提高机器性能,提高系统健壮性,系统选型:,Memcached/b | Tokyo Tyrant,缓存数据库查询结果,提供彪悍的数据查询速度,PHP使用FASTCGI方式运行,每次访问PHP无须重新初始化,DB replication,相对module方式运行的PHP,运行效率更高,分离数据库读写,分散数据库压力,反向代理完成访问缓冲,降低后端服务器压力,同时提供灾难应对机制,有效提高稳定性,一台宕机不影响服务,问题思考,如何解决代码同步问题?,如何解决SESSION同步?,缓存过期时间?,