前端负载均衡&架构

 

前端负载均衡&架构

 

一直对浏览器到服务层这部分访问的负载均衡不是很清楚,今天看了一篇58到家shenjian的文章,觉得不错,这里大概说说自己的感想,文中的图都是借用人家的,特此说明

第一阶段(裸奔)

请求量很少,通过浏览器访问一个域名,经过DNS解析后,直接就到了 tomcat了

前端负载均衡&架构

第二阶段(简单扩容)

第一个阶段很明显,如果tomcat挂了,那么系统就挂了,所以进行了简单的扩容,增加了web服务器

前端负载均衡&架构

第三阶段(加了nginx的简单扩容)

第二个阶段很明显,首先对外暴露了过多的ip,其次DNS解析出来的服务器是否可用,无法保证,所以加了nginx

前端负载均衡&架构

加了nginx之后,扩容就容易了,切换流量也容易,但如果nginx挂了怎么办呢

第四个阶段(使用keepalived)

前端负载均衡&架构

使用keepalived使用管理两台nginx,如果一台nginx挂了,可以切换到另外一台nginx

前端负载均衡&架构

这样也有两个问题:1.nginx的资源利用只有一半  2.如果请求超过nginx的单点性能极限,咋办

第五阶段(使用lvs和f5)

前端负载均衡&架构

lvs和f5一个在操作系统层面,一个在硬件层面,它们的性能远超nginx,所以用它们管理一个nginx的集群再合适不过了

第六阶段(重新回到之前的DNS轮询)

第五个阶段基本已经可以抗住99.999%公司的访问了,但是如果请求确实超过了单点lvs和f5的性能极限呢。其实水平扩展是最好的解决办法

前端负载均衡&架构

可以通过DNS轮询来接入多个lvs和f5,如果还不行,再继续水平加lvs和f5。

上一篇:vs2010按ctrl+f5,调试窗口一闪而过的解决方法


下一篇:博主的话