《吴炳锡:lvs、nginx负载分衡构建实战,以及应用性能对比》由会员分享,可在线阅读,更多相关《吴炳锡:lvs、nginx负载分衡构建实战,以及应用性能对比(20页珍藏版)》请在金锄头文库上搜索。
1、吴炳锡2008-1-9 负载 均衡华山论剑主要内容lLVS负载负载 均衡结结构lNginx的负载结负载结 构lLVS和Nginx的对对比l负载负载 均衡选选型l在高并发环发环 境中LVS,Nginx的角色LVS负载负载 均衡结结构LVS负载均衡: 针对高可伸缩、高可用网络服务的需求,基于IP 层的负载平衡调度解决方法,并在Linux内核中 实现了这些方法,将一组服务器构成一个实现 可伸缩的、高可用网络服务的虚拟服务器。IPVS的总体结构主要如下客户端访问- IPVS检测负载 均衡算法和调度 算法-IPVS处理IP包- IPVS根据虚拟服务器与真 实服务器链表发往真实服务器(RS)- RS返回数
2、据LVS的实现 方式 VS/NAT VS/TUN VS/DR服务务器网络络服务务器数 目包交换换( 次)网关VS/NAT任意私网(LAN)Nginx=Cache负载 均衡的选型原则Web1.0 1、源数据量小,单台squid即可达到很高的命中率。 2、请求量大,用lvs+squid或者dns轮询即可解决问题。 3、squid服务器磁盘IO压力大,用超大内存做cache。对比web1.0和web2.0的解决方案碰到的困难web 2.0 1 数据变化频繁,数据总量大,squid的hast table较大,命 中下降。 2 请求量大,种类多,数据源上是正常现象,squid的 更新现象严重。 3 Ca
3、che的IO更新严重,致使效率低下 4 基于的 ,其中一台死掉,必将 引起Hash ReHash 5 压力过大导致的hit ratio抖动总结上面问题如果只是简单的负载均衡,难 于解决WEB2.0的问题。Nginx可以说是一个完美 的方案,但一个大的网站流量不只是一个千兆网 卡能挡住的。负载 均衡的选型总结在高并发环发环 境中LVS、Nginx的角色部分代码如下: upstream img1 server 192.168.100.1; server 192.168.100.2; upstream img2 server 192.168.100.1:81; server 192.168.100.2:82; Nginx的实现 代码:部分代码如下: location /0-10-f/ proxy_pass http:/img1; location /2-30-f/ proxy_pass http:/img2; Nginx的实现 代码:实现 了高可用性,最大程度上防止单点,又 保证架构的伸缩性。在后端服务器中模拟url hash的算法来找到 内容所在的squid,提高了命中率。充分发挥 机器的性能,架构可扩展性,层次 分明。这种结构的优点:结束了 问题 交流