关于动态网站的 LB(负载均衡)服务器

2015-01-23 17:13:04 +08:00
 Livid
之前因为对 Nginx 比较熟悉,所以一直用的是 Nginx。但是 Nginx 对后端的健康检查功能很弱,要么只在商业版本里有,要么只能通过 Lua 或者一些第三方模块。

最近试了一下 HAProxy,发现其对后端的健康检查功能非常强大。而且有一个很实用的 stats 页面。

http://cbonte.github.com/haproxy-dconv/configuration-1.5.html

这里熟悉 HAProxy 的同学们,可以分享一下你在用 HAProxy 的过程中有遇到过什么坑么?

谢谢大家。
7130 次点击
所在节点    HAProxy
14 条回复
mywaiting
2015-01-23 17:40:11 +08:00
Quora用的就是HA?好像有个技术分享.....
reorx
2015-01-23 17:56:11 +08:00
插个题外话,tengine 有一个健康检查的模块,可以用它实现后端无损发布,个人觉得挺好用的,推荐一下: http://tengine.taobao.org/document_cn/http_upstream_check_cn.html
tititake
2015-01-23 18:03:04 +08:00
我们用的keepalived+nginx
Nginx后端检测可以用 https://github.com/yaoweibin/nginx_upstream_check_module
typcn
2015-01-23 18:05:09 +08:00
用 varnish 很强大
kn007
2015-01-23 19:02:28 +08:00
HAProxy一直对后端健康均衡很擅长,不过没用过。。习惯用varnish
Livid
2015-01-23 19:03:40 +08:00
目前发现的一个问题,通过 HAProxy 代理的流量,貌似后端不会收到 Connection 这个 request header。如果程序代码中有对这个的检查的话,需要留意一下。
cevincheung
2015-01-23 19:04:47 +08:00
tengine路过……
iCodex
2015-01-23 19:48:42 +08:00
几个都用过,对haproxy还比较多用于数据库的负载
http前端建议用varnish,但坑有点多
ryd994
2015-01-23 20:01:05 +08:00
@Livid 应该是为了和后端保持长连接,避免客户端的connection: close造成连接不必要的关闭吧
没有加keepalive应该是因为1.1默认
那么考虑到这一点,keepalive_requests就应该设置的大一点
kfll
2015-01-23 20:06:00 +08:00
@iCodex 请问做 mysql 的 lb 的时候, acl 怎么处理呢,因为每个请求都变成 haproxy 发起的了,Host 就变成 haproxy 的 IP 了
iCodex
2015-01-23 21:26:58 +08:00
@kfll 有什么所谓呢。直接用ip连接
ryd994
2015-01-23 22:27:48 +08:00
@iCodex 比如userA@hostA,userB@hostB,但是禁止userA@hostB就做不到了吧
wy315700
2015-01-23 23:49:33 +08:00
我看到个 “动态网” 。。。。
hjc4869
2015-01-24 00:24:16 +08:00
以前折腾openshift的时候,scale时前台就是haproxy

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/164859

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX