2007年10月8日中午12:00, 新浪播客的“Squid+Apache+MySQL+Nginx”新系统架构上线,由于低估了用户对不同网页的并发访问量,上线前只在Squid上缓存了播客首页及其二级页面,结果导致MySQL数据库连接数跑满,后端所有Apache服务器崩溃。上线失败,不得不切回原架构。
2007年10月10日下午,我们先将天津网通用户切换到新系统架构,当Squid命中率达到80%时,再依次按访问量大小将山东省、江苏省的网通用户,广东省和西南五省(四川、西藏、贵州、广西、重庆)的电信用户切换到新系统架构。OK,测试上线成功,访问速度很快。准备明天再将所有的用户切换到新系统架构。
2007年10月12日下午, 新浪播客所有用户流量切换到新系统架构,播客静态化与改版上线成功!忙碌了这些天,终于可以舒了一口气。
系统架构重构后,网通用户访问天津网通机房的F5负载均衡交换机及Squid服务器,电信及其他用户访问广州电信机房的F5负载均衡交换机及Squid服务器,两地服务器通过VPN(Virtual Private Network,虚拟专用网络),与北京数据中心进行数据交换。而第一次投入正式应用的Nginx服务器,发挥了北京与外地机房数据传输桥梁的重要作用。
NGINX的作用:
由于大部分服务器用来跑Squid,留给刷新Squid的服务器只有几台,如果跑Apache+PHP,每台服务器的并发连接达不到要求,而1台“Nginx+PHP”服务器的并发连接数能达到“Apache+PHP”的10倍,可以顶10台“Apache+PHP”服务器了。
Nginx还用作内网的负载均衡。