本人于2009年12月迁移至独立BLOG。
1、欢迎光临运维进行时,希望认识更多志向相同的朋友!
2、本站部分资源来源于网络,如有侵权请及时与我联系!
3、强烈建议使用Firefox、Opera、Safari及IE7以上的浏览器访问,以获得最佳浏览质量!
4、请勿发表与中华人民共和国法律、法规相抵触的言论,谢谢合作!
5、本人发布的文章与评论内容仅代表本人观点。
分页: 2/10 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]
       在我们日常运维工作中,经常会碰到负载均衡器后端应用代码更新、临时剔除后端服务器、排查一主机应用故障等,往往我们会选择比较粗鲁的做法,直接停止或重启应用服务,让负载均衡器探测服务不可用将其剔除。这样带来的坏处是用户与服务器已经建立的连接会被中止,开发人员无法对已经停止服务的主机进行调试。现介绍一种较为温柔的做法,即通过禁用/启用成员的方式来达到目的。本文针对目前最为流行的负载均衡器逐一进行介绍。包括LVS、Haproxy、F5在命令行模式下的实现(方便与其它管理平台对接,实现自动化维护)。当然,Haproxy与F5都提供了人性化管理界面,不过只依赖手工来进行操作。

一、LVS负载均衡器
原理
使用LVS自带的管理工具来实现。

环境说明
Disable VIP:192.168.100.11:80
Disable REAL SERVER:192.168.100.78

实施步骤
1、初始状态
[devuser@lvsserver ~]# ipvsadm -Ln
引用

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.100.11:80 rr persistent 60
  -> 192.168.100.74:80            Route   3      462        464        
  -> 192.168.100.75:80            Route   3      420        440      
  -> 192.168.100.76:80            Route   3      431        400
  -> 192.168.100.77:80            Route   3      430        432
  -> 192.168.100.78:80            Route   3      435        438

2、禁用成员
[devuser@lvsserver ~]# ipvsadm -d -t 192.168.100.11:80 -r 192.168.100.78

3、当前状态
[devuser@lvsserver ~]# ipvsadm -Ln
引用

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.100.11:80 rr persistent 60
  -> 192.168.100.74:80            Route   3      462        464        
  -> 192.168.100.75:80            Route   3      420        440      
  -> 192.168.100.76:80            Route   3      431        400
  -> 192.168.100.77:80            Route   3      430        432

4、启用成员
[devuser@lvsserver ~]#ipvsadm -a -t 192.168.100.11:80 -r 192.168.100.78

5、当前状态
[devuser@lvsserver ~]# ipvsadm -Ln
引用

IP Virtual Server version 1.2.1 (size=4096)
Prot LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.100.11:80 rr persistent 60
  -> 192.168.100.74:80            Route   3      462        464        
  -> 192.168.100.75:80            Route   3      420        440      
  -> 192.168.100.76:80            Route   3      431        400
  -> 192.168.100.77:80            Route   3      430        432
  -> 192.168.100.78:80            Route   3      435        438


二、Haproxy负载均衡器
原理
使用Haproxy的socket admin通道来实现。

环境说明
Disable backend:test.tianya.cn
Disable REAL SERVER:192.168.100.78

实施步骤
1、修改haproxy.cfg配置
#vi /usr/local/haproxy/etc/haproxy.cfg
在global域添加socket admin支持并重启Haproxy服务
引用

global
... ...
   stats socket /usr/local/haproxy/HaproxySocket level admin
... ...
#service haproxy restart

2、安装socat(在任意的两个socket管道之间建立一个通道,在该通道中交换两端的数据。)
引用

wget http://www.dest-unreach.org/socat/download/socat-2.0.0-b3.tar.gz
./configure --disable-fips
make;make install

注:disable OpenSSL FIPS support  "--disable-fips",在没有安装fips包的情况下make时会提示:
引用

FIPSLD_CC=gcc fipsld -O -D_GNU_SOURCE  -Wall -Wno-parentheses -DHAVE_CONFIG_H -I.  -I.   -c -o socat.o socat.c
/bin/sh: fipsld: command not found
make: *** [socat.o] Error 127


3、禁用成员
#echo "disable server test.tianya.cn/192.168.100.78" | socat stdio /usr/local/haproxy/HaproxySocket
点击在新窗口中浏览此图片

4、启用成员
#echo "enable server test.tianya.cn/192.168.100.78" | socat stdio /usr/local/haproxy/HaproxySocket
点击在新窗口中浏览此图片

三、F5-LTM负载均衡器

Memlink是天涯社区统平台部近日推出的开源项目,项目托管地址:http://code.google.com/p/memlink/
为什么会有Memlink?

       对于大型论坛服务,比如百度贴吧、天涯论坛,日均发帖量过百万或千万,日均PV过亿,日积月累下来的帖子数量可能几十亿到上百亿。这种超级论坛,其海量存储、海量访问都是一个非常有挑战性的技术难题。

中 小规模的论坛(Phpwind/discuz)通常使用mysql/sql server作为后端存储,当数据量膨胀时,比如一个版面有百万、千万级别主贴,一个主贴下有数百万回复,此时使用SQL语句select … order by … limit … 进行数据查询和展现,性能可想而知。

分页: 2/10 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]