关于代理服务器及负载均衡的一些想法

    研究代理服务及负载均衡服务有一段时间了,也发现了不少问题。当然我这里的问题主要集中在我所负责的网络应用环境中。

    需求:为正向代理做负载

    方案一:LVS+Nginx

    方案二:LVS+Squid

    方案三:Squid+Squid

    方案四:LVS+Varnish

    方案五:HAProxy+Squid

    方案六:HAProxy+Varnish

    从这些方案来看,这些使我在进过一系列的实验应用及查找资料后想到。真正实验和应用过的,有方案一、方案二、方案三、方案五。从现在的技术来看,这些这些方案也是依次上升的。

    首先,我们需要明白几个概念。

    1、什么是代理?那些软件可以用来做代理?

    深入的就不说了,有兴趣的童鞋可以自己再细细研究。代理就是客户端Client的请求先发送到代理,代理更加自己的配置来处理,如果请求符合要求,代理Proxy就将请求发送给后端服务器Server,然后Proxy将取回的数据返回给客户端Client。代理有正向和反向之分。一般来说能代理的软件,都可以即用来做正向代理,也可以作为反向代理。现在常用的代理,都是作为反向代理,主要是对服务进行缓存的,比如支持高并发的Nginx,高缓存的Varnish等等。

    常见的接触比较多的代理软件有Squid、Varnish、Nginx等,网上资料也非常多,现在比较流行的CDN(CDN的全称是Content Delivery Network,即内容分发网络。)也都是使用这些软件作为缓存设备,配合智能DNS来实现的。

    2、什么是负载均衡?那些软件可以用来做负载均衡?

    负载均衡,就是负责对流量进行分担,以便减少单台设备由于流量过大而形成DDoS,从当前的技术来看,按照TCP/IP协议的分层理论来看,现有的负载均衡有基于IP层的IP负载均衡,基于TCP协议的四层负载均衡,基于应用的七层负载均衡。IP负载均衡我们在网络设备中见到的比较多,如交换机的端口聚合,路由器的等价路由等。基于TCP协议的四层负载,如LVS、HAProxy等,而七层负载均衡,如Nginx。其实作为代理的软件,自身也有一定的负载功能,通过一些算法来实现,比如rr(robin-robin)轮询模式,wlc等

    常见的负载均衡软件,LVS、HAProxy等。


————下面给出以下参考文档及相关软件的官方地址,如果要深入了解一个软件,一定要仔细阅读官方doc,PS:E文很重要,至少在读官方文档的时候O(∩_∩)O

参考文件:

四层与七层负载均衡的区别

http://kb.cnblogs.com/page/188170/

使用Varnish代替Squid做网站缓存加速器的详细解决方案

http://zyan.cc/post/313/

HAProxy负载均衡器的安装及配置

http://network.51cto.com/art/201103/249586.htm

LVS Nginx HAProxy 优缺点

http://blog.chinaunix.net/uid-27022856-id-3236257.html

varnish与squid的比较

谈谈varnish,squid,apache,nginx缓存的对比


http://os.51cto.com/art/201204/326849.htm

varnish官方网站

https://www.varnish-cache.org/

Squid官方网站

http://www.squid-cache.org/

LVS官方网站

http://zh.linuxvirtualserver.org/

Nginx官方网站

http://nginx.org/

HARoxy官网网站

http://haproxy.com/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章