免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5912 | 回复: 1
打印 上一主题 下一主题

[proxy] haproxy反向代理和负载均衡 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-12-24 16:07 |只看该作者 |倒序浏览
今天有空尝试了一下,haproxy反向代理,根据HTTP请求的主机头及请求URL进行后端服务器的选择,实现类似7层交换的功能。

定义好frontend和backend,用ACL+use_backend进行匹配,配置文件的条理还是很清晰的。负载均衡可以有多种方式:
1、简单的轮询,balance roundrobin;
2、根据请求的源IP,balance source;
3、根据请求的uri,balance uri;
4、根据请求RUL中的参数,balance url_param。

在上述方式的同时,还可以根据cookie来保持同一会话落在特定的后端服务器上。

配置例子如下:

global
  maxconn 5120
  chroot /usr/local/haproxy
  uid 502
  gid 502
  daemon

frontend webserver
  bind :80
  mode http
  log global
  option httplog
  option dontlognull
  option allbackups
  monitor-uri /monitoruri
  maxconn 8000
  clitimeout 30000
  acl mysite hdr_dom(host) -i www.2tutu.com
  acl status hdr_dom(host) -i stat.2tutu.com
  acl statcs url_reg \.(jpg|html|htm|png|gif|css|shtml)$
  use_backend caches if mysite statcs
#以.jpg等结尾的URL为静态内容,将请求落到运行在8081端口上的varnish
  use_backend servers1 if mysite !statcs
#其他相同主机头的非静态内容,将请求落到运行在8080端口上的web服务上
  use_backend stats if status
#状态查看页面的后端
  default_backend servers0

backend servers0
  mode http
  balance roundrobin
  contimeout 30000
  srvtimeout 30000
  redispatch
  retries 2
  option redispatch
  cookie DYNSRV insert indirect nocache
  fullconn 4000
  server wwwserver1 192.168.1.10:80 minconn 50 maxconn 500 cookie s1 check inter 1000
#可以继续增加其他服务器作为负载均衡池里的节点

backend servers1
  mode http
  balance roundrobin
  contimeout 5000
  srvtimeout 5000
  redispatch
  cookie DYNSRV insert indirect nocache
  server server1 127.0.0.1:8080 check cookie first inter 1000
#可以继续增加其他服务器作为负载均衡池里的节点
#server server1 192.168.1.11:8080 check cookie second inter 1000
#轮询的同时,根据插入的cookie DYNSRV 的值来做会话保持。


backend caches
  mode http
  balance roundrobin
  contimeout 5000
  srvtimeout 5000
  redispatch
  server server1 127.0.0.1:8081 check inter 1000
#可以继续增加其他服务器作为负载均衡池里的节点
#server server1 127.0.0.1:8082 check inter 1000

backend stats
  log global
  mode http
  stats uri /
  balance roundrobin

可以通过stat.2tutu.com访问到状态页面

论坛徽章:
0
2 [报告]
发表于 2008-12-25 10:15 |只看该作者
支持老大
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP