前端访问负载均衡

一直对浏览器到服务层这部分访问的负载均衡不是很清楚,今天看了一篇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,现阶段只能这样了,谁如果有更好的办法,可以聊一下

本文主要是58到家沈剑文章的读后感,这里贴出链接,大家也可以看看http://mp.weixin.qq.com/s/4dzqbh2wfzbQzgFodP2_6Q,主要用于学习分享,非喜勿喷

发表评论

邮箱地址不会被公开。 必填项已用*标注