2、流量在1000万以内如何架构设计?
答:将原有的一台应用服务器变为应用服务器集群,在前面架设反向代理,增加CDN节点与本地缓存。
(1)动静分离与前后端分离
利用反向代理实现负载均衡与动静分离;
(2)Nginx的高可用设计
Nginx是当今主流的反向代理方案,能够支持高达50000并发连接数的响应,为站点提供高并发、吞吐量创造了条件。虽然 Nginx具有超强的系统性能,但系统高可用的设计要求Nginx集群是由“一主多备”的多个Nginx节点组成。同时,在它们之上架设了一个Keepalive的虚拟IP。这样,所有用户通过DNS访问我们的站点时,DNS定向的是Keepalive的虚拟IP,再由Keepalive将请求定向到主Nginx的Mac地址上。Keepalive负责对所有的Nginx进行心中检测,如果主Nginx宕机,就会切换到另一个可用的备Nginx上,并将它升级为主节点。
(3)多导负载均衡的架构设计
系统压力增大后,Nginx负担的应用节点越来越多,就需要将Nginx改造成多级负载均衡,即将大量应用节点划分到多个负载均衡器上,每个负载均衡器负担几个应用节点,然后在它们前面再架设一个负载均衡器。这个最高层次的负载均衡可以选用通讯协议更低的Linux虚拟服务器(Linux Virtual Server,LVS),或者直接使用F5硬件负载均衡器。