Articles of 负载均衡

nginx自动故障转移负载均衡

我使用nginx和NginxHttpUpstreamModule进行负载平衡。 我的configuration非常简单: upstream lb { server 127.0.0.1:8081; server 127.0.0.1:8082; } server { listen 89; server_name localhost; location / { proxy_pass http://lb; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 但是使用这个configuration,当2个后端服务器中的一个closures时,nginx仍然将请求路由到它,并且导致超时一半的时间:( 有没有任何解决scheme,使nginx自动路由请求到另一台服务器,当它检测到一个closures的服务器。 谢谢。

如何制作冗余负载均衡器?

我了解负载平衡器的目的是平衡服务器之间的负载并跟踪实例的健康状况等。但是,如果负载平衡器本身失败呢? 你如何设置冗余负载平衡器? (负载平衡负载平衡器?) 我可以看到DNS健康检查如何有用,但显然存在主要的延迟问题,不是吗? 假设您没有使用任何第三方服务,如AWS ELB或类似的东西。 如果你只是使用Nginx,该怎么办?

单个IP地址如何负载均衡?

我知道“循环DNS”负载平衡,但是怎样才能平衡一个IP地址呢? Google的DNS服务器,例如8.8.8.8和8.8.4.4 。 维基百科的负载平衡文章指出: 对于Internet服务,负载平衡器通常是一个软件程序,它正在侦听外部客户端连接到访问服务的端口。 负载均衡器将请求转发给“后端”服务器之一,后者通常会回复负载均衡器。 与循环法DNS一起使用似乎是合理的,但对于Google的DNS服务器,这似乎不是一个非常冗余或有效的设置。

我怎样才能使用SSL与HAproxy和得到X-Forwarded-For头,并告诉PHP SSL正在使用?

我有以下设置: (internet) —> [ pfSense Box ] /-> [ Apache / PHP server ] [running HAproxy] –+–> [ Apache / PHP server ] +–> [ Apache / PHP server ] \-> [ Apache / PHP server ] 对于HTTP请求这很好 ,请求分发到我的Apache服务器就好了。 对于SSL请求,我使用HAproxy使用TCP负载均衡来分发请求,但是由于HAproxy没有充当代理,没有添加X-Forwarded-For HTTP标头,Apache / PHP服务器也没有不知道客户的真实IP地址。 所以,我在HAproxy前面添加了stunnel ,读取stunnel可以添加X-Forwarded-For HTTP标头。 然而,我可以安装到pfSense中的软件包不会添加这个头文件,而且这显然会损害我使用KeepAlive请求的能力 ,这是我真正想保留的。 但是这个想法最大的问题是stunnel把HTTPS请求转换成普通的HTTP请求,所以PHP不知道SSL被启用并试图redirect到SSL站点。 如何使用HAproxy在多个SSL服务器之间进行负载均衡,使这些服务器都知道客户端的IP地址, 并知道SSL正在使用? 如果可能的话,我怎样才能在我的pfSense服务器上做到这一点? 或者我应该放弃所有这些,只使用nginx?

硬件vs软件负载平衡器:只是一个成本问题?

如果成本不是问题,与硬件相比,为Webstream量部署软件负载平衡器会有什么好处吗?

那里有什么样的负载平衡algorithm

我正在研究HTTP的不同负载平衡algorithm,我刚刚发现3.随机,循环和加权循环。 还有其他的select吗? 谢谢Paul

如何在Amazon EC2上部署可伸缩,可靠的haproxy集群?

我们需要一些比ELB更高级的function(主要是L7检测),但是如何使用EC2等haproxy处理心跳和高可用性等问题并不明显。 很有可能我们在集群中需要3个或更多的haproxy节点,所以两个节点之间的简单心跳不起作用。 似乎在haproxy节点前面有一个心跳图层是可能的,可能使用IPVS,但是在EC2集群变化时处理configuration更改(通过有意的更改,如扩展,或无意,如丢失EC2节点)似乎不平凡。 优选地,该解决scheme将跨越至less两个可用区域。 回答问:不,会话不粘。 是的,我们需要SSL,但理论上可以完全由另一个设置来处理 – 我们能够将SSLstream量导向到与非SSLstream量不同的位置。

负载平衡器选项

我正在寻找一些可能的负载平衡选项。 到目前为止,我受限于以下选项: DNS服务器负载平衡器,平衡到一个tomcat服务器集群,用于会话复制的兵马俑。 优点 – 不必购买新的套件。 缺点 – DNS磅可以继续指向一个破碎的服务器。 硬件负载平衡器,直接到tomcat服务器集群。 优点 – 可以有第二个故障转移盒费用。 Apache服务器负载平衡器。 优点 – 阿帕奇的磅调查破碎的服务器。 缺点 – Apache服务器是单点故障,再加上需要购买另一台服务器。 还有其他的select我应该考虑吗? 谢谢。 更新:感谢迄今为止所有的答案+ 1的全部。 还没有接受答案,保持更多的想法来。

如何设置HAProxy的统计信息?

我无法弄清楚如何设置HAProxy的统计信息。 这是我的configuration: global log 127.0.0.1 local0 log 127.0.0.1 local1 notice daemon #debug user haproxy group haproxy maxconn 4096 stats socket /tmp/haproxy defaults log global mode tcp option tcplog option dontlognull option redispatch option clitcpka option srvtcpka option tcpka retries 3 maxconn 2000 contimeout 10000 clitimeout 50000 srvtimeout 50000 stats enable stats hide-version stats scope . […]

如何通过命令行从haproxy中删除平衡节点?

我有haproxy作为我的负载平衡器运行,并从haproxy附带的统计networking界面,我可以把一个Web服务器进入维护模式(并再次把它带回来) – 这是伟大的! 不过,我也希望能够从命令行执行相同的操作(用于某些自动部署工作stream程)。 这是可能的,如果是的话如何? 非常感谢