七层负载均衡与静态文件缓存

本文探讨了在七层上实现负载均衡的各种方案,包括使用F5等硬件设备及HaProxy、LVS等软件解决方案,并对比了它们的优缺点。此外还介绍了静态文件缓存技术,如squid和varnish,并讨论了如何通过七层负载均衡提高缓存效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个标题有点吓人,又是负载均衡又是缓存,随便哪个都能写好几本书了,这里浅谈一二,适合新手,老鸟请绕道,个人的一些浅薄观点。

很多大公司在七层上做负载均衡大多基于硬件,比如F5,假如流量真的大到不行了,或者是钱多的烧包,那么买一个这种设备肯定是不二的选择,省去多少事情啊,不用搭建环境,不用搞很多测试,只要照着说明文档或者去厂方培训几天就可以了。

七层设备出了F5还有很多,在七层上做负载均衡的软件业很多,比如大名鼎鼎的HaProxy,比如配上第三方工具的LVS,甚至因为负载均衡的重要性,很多具有前瞻性的Web服务器开始提供这样的功能,比如nginx,比如light httpd,nginx的七层负载均衡实际上还是很不完善的,当后端代理一台机器死掉后,nginx还会发送请求给这个机器,这个机器不处理,那么nginx就会一直等待超时,在超时后再将请求分配给其他的机器,在流量大时会很影响性能,造成一定程度的连接堆积甚至堵塞,nginx的负载均衡算法也相对少很多,没有haproxy和LVS多,当然后者是专业负载均衡软件。

静态文件缓存也有很多,比如不朽的squid,比如最近两年很火的varnish,甚至号称比squid更快速更精准的nginx的模块ncache,varnish使用的Visual Page Cache技术能够显著降低内存和磁盘的交换次数,使系统利用率更高,我没有在百万级以上环境检测过varnish,很多人说varnish不是足够的稳定,我测试的时候没有发生什么问题。

静态文件缓存一般都不止一台,我一直推崇使用七层负载均衡来设计静态缓存架构,因为可以降低重复率,降低重复率自然是提高利用率。URL HASH能够很好的解决缓存浪费的情况,比如用户头像放在一台机器上,模板中的小文件放在另外一台机器上,利用七层负载均衡就很容易让头像的请求命中头像服务器,模板请求命中模板缓存服务器,避免了三层或者四层负载均衡重复缓存导致的硬件利用率低下问题。而且服务单一,新切换的缓存机器,很容易重新缓存满。

七层负载均衡和四层负载均衡相比,最大的缺点就是没有四层的负载能力高,Haproxy据说能跑到40万并发,LVS有几百万,这些都是理论上的数据,真的跑到40万的时候,服务器网卡早就挂了。

 

本文来自:http://fendou.org/2009/08/14/load-balance-and-cache/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值