我正在努力寻找特定负载平衡要求的解决scheme。 看来,HAProxy,Nginx,Varnish和Apache的mod_proxy_balancer的各种组合可以做一些,但不是我们所需要的一切。 我的问题是,是否有人可以build议一个合适的configuration(可能包括我们可能没有考虑过的软件,但它将需要自由和开放源码软件)。 关键的要求是,不幸的是,粘滞的会议。 我们有一个大的,复杂的Tomcat应用程序,有点滥用HTTP会话,并利用相同的框架。 转换到无状态devise或复制会话都被调查和打折。 此外,粘性必须基于cookie而不是IP哈希值,因为我们有来自企业客户端的大量高峰,其中成千上万的用户可能同时从相同的IP地址同时访问该站点。 第二个最重要的要求是dynamic后端。 这个应用程序运行在一个云(而不是AWS)和应用程序服务器来回时间基于自动或手动缩放。 第三,我们需要能够将服务器标记为“静止”,以便继续履行现有会话,但不会交付新的服务器。 当所有当前会话结束时,服务器可以closures或升级/重新启动。 还有一些额外的复杂性/要求,但它符合上述三个似乎是最难的。 从目前的研究来看,我认为以下的说法是正确的: Nginx / Varnish不能满足粘滞会话要求(基于cookie),但HAProxy和Apache可以 HAProxy不能在没有重新启动的情况下进行dynamic后端修改(如果速度很快,可能会好起来)。 Varnish可以用一些VCL的变化和一个HUP,Nginx也可以用一些创造性的configuration文件pipe理,我想。 Apache可能通过一个pipe理界面来处理这个mod_proxy_balancer ..? 我不确定他们中的任何一个能够如何处理第三个要求 真的很感激任何指针或见解。
Impala是一个Cloudera软件,它在桌面上实现ODBC驱动程序,然后直接连接到Hadoop集群。 在我们的实现中,我们的Hadoop集群位于一个DMZ后面,在这个DMZ中,我们将使用身份validation代理连接。 有没有一个代理解决scheme,将使这个? TCP协议不是HTTP,所以我不能做大多数代理和Apache作为反向代理等实现的基本身份validation挑战。 我已经看了HAProxy,看来我可能会想出一个“configuration”。 我将configuration两个侦听器,一个用于HTTP,一个用于TCP。 HTTP代理可以将连接“推”到基于IP的粘性表中,并且可以对用户进行authentication。 我需要在每个集群服务器上使用HTTP服务(无论如何都是Hadoop的一部分)。 TCP代理将configuration一个权重为100的“虚拟”第一个服务器,然后每个权重为0的群集节点。 因此,我希望,如果用户只是尝试连接,就会被引导到虚拟服务器,而如果他们首先打开HTTP代理并进行身份validation,则会被引导到具有负载平衡的真实服务器。 {如果我有足够的声望,图表就会到这里} 除了这个事实,我不知道它是否会起作用,这个戏剧是login名/密码被硬编码(尽pipe有一个encryption的密码)到HAProxyconfiguration脚本中。 最糟糕的是,HAProxy必须反弹密码更改才能生效。 我有超过1000名用户每隔几周就要强制密码重置,所以我可以期待每天从健忘中获得密码重置请求。 那么,有什么想法? 我知道很多使用LDAP集成的HTTP代理(Apache,Squid等),但是他们自然都只是HTTP。 到目前为止,我所见过的唯一一个软件代理是HAProxy,但对我们来说还不够好。 鉴于Apache是开源的,HAProxy是开源的,都在Linux上运行,为mod_ldap库获得HAProxy包装器有多难? 我的意思是, 在这里input链接描述
Haproxy目前正在平衡2台服务器A和B之间的负载。 客户端通过持久的TCP连接连接到这些服务器。 问题:我们想从服务器A升级到更强大的服务器C 我们如何添加第三台服务器C并删除A而不中断/断开客户端? 如果使用iptables将连接从Aredirect到C ,如果我们在某个时刻closures了A ,还是需要保持联机才能继续将现有客户redirect到C ,它仍然可以工作吗?
我有2个后端运行apache2服务器,并在他们和客户之间有一个haproxy。 如果我testing了这些apache2服务器的任何一个ab我得到了一个1500TPS的北部,但是当我进行台架testingHAproxy时,我得到的值小于这个值。 这是没有道理的。 我正在使用简单的循环algorithm进行平衡,并将我的maxconn设置为8000,以便进行较好的测量。 我期望的是接近每个apache2节点(2800TPS)的总tps的tps。 相反,我得到的值比两个apache2节点中的任何一个都less。 可能是什么原因? 我做的板凳testing ab -t 60 -c 400 haproxyIP:1234 HEre是HAproxyconfiguration非常标准,但应该完成我所需要的。 global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy maxconn 8000 user haproxy group haproxy daemon defaults log global mode http option httplog option dontlognull retries 3 maxconn 8000 contimeout 5000 clitimeout 50000 srvtimeout 50000 errorfile 400 /etc/haproxy/errors/400.http errorfile […]
我对AWS和全世界都是陌生的 。 我的问题在这里是请求到AWS服务器。 我有一个服务器staging-storage.zazzercode.co指向下面的DNS's与各自的负载平衡器, s-storage-us-west-2-483191837.us-west-2.elb.amazonaws.com => s-storage-us-west-2 s-storage-us-east-1-1318227839.us-east-1.elb.amazonaws.com => s-storage-us-east-1 我住在东方世界 。 点0 我将实例大小从t1.micro升级到了m3.medium希望能够得到解决。 要点1 当使用主机名'staging-storage.zazzercode.co'请求服务器时,我得到一个curl请求中的错误, curl: (6) Couldn't resolve host 'staging-storage.zazzercode.co' 根据man curl , 6是, 6 Couldn't resolve host. The given remote host was not resolved. 第2点 它有时告诉我 HTTP/1.1 100 Continue HTTP/1.1 504 Gateway Timeout Content-length:0 这是在这里logging – Elastic Load Balancing疑难解答:错误消息build议 负载均衡器处理请求的容量不足(暂时问题) 实例closures到ELB的连接。 第3点 […]
在负载均衡HAProxy设置中有3个服务器。 server serv1 192.168.1.101:8080 check inter 2000 rise 1 fall 1 server serv2 192.168.1.102:8080 check inter 2000 rise 1 fall 1 #The legacy Apache server will listen on port 81 and perform URL rewriting/load balancing server serv_legacy 192.168.1.110:81 check inter 2000 rise 1 fall 1 但是,3个服务器(serv_legacy)中的一个响应不同的url请求。 我想知道是否有可能只为第三台服务器reqrep urlredirect。
今天,我已经使用stunnel为一组TCP服务提供了SSL终止,在这些TCP服务中,连接是循环的,例如这样做: [myserv] accept = 443 connect = 9274 connect = 9275 connect = 9276 connect = 9277 我想做同样的事情,但是在接受端口不提供SSL终止的情况下,它只是将接受的连接循环到后端服务。 我想知道是否有一种方法可以做到这一点与stunnel,或者如果有类似的Linux服务,可以做到这一点。
我有两个负载平衡器可以平衡跨多个数据中心的传入stream量。 这些工作正常。 我可以通过执行nslookup example.com xIP来testing它们 我现在已经拿出了DYN.com的DNS服务,允许我pipe理DNS区域文件,这样inputexample.com会询问我的负载均衡器IP地址要parsing什么。 步骤1:www的NSlogging。 我为ns1和ns2设置了一个logging(胶水),然后是相应的NSlogging,将DNS查找委托给平衡器而不是DYN.com的名称服务器。 ns1.example.com A [ip address of load balancer 1] ns2.example.com A [ip address of load balancer 1] www.example.com NS ns1.example.com www.example.com NS ns2.example.com 一切正常 – 当我键入www.example.com时,请求将被委托给提供端点IP地址的负载均衡器,并且连接已成功完成。 第2步:根的NSlogging。 这是我遇到问题的地方。 我需要客户能够input'example.com'(不含www),并且也可以委派给IP地址的负载均衡器。 然而 – 我所做的研究,通过DYN控制面板,似乎不允许为根提供NSlogging – 因为这覆盖了默认的NS服务器。 我怎么能委派根和www。 我的负载均衡器?
我在后端服务器之间configuration了Nginx负载平衡。 upsteam backend { server 127.0.0.1:8080; server 127.0.0.1:8081; server 127.0.0.1:8082; server 127.0.0.1:8083; } server { … location / { … proxy_pass http://backend; } } 一个坏的请求进来了,后端应用程序无法处理它,它崩溃了。 所以Nginx从请求的上游尝试每个服务器,取下所有的应用程序实例。 是否有可能告诉Nginx在返回错误响应之前最多尝试一半来自上游的服务器?
在AWS中,我configuration了一个负载平衡器来指向一个EC2实例,它的工作正常。 然后,我使用route53将我的域parsing为负载均衡器IP。 例如:“api.b1.example.com” 问题是,在一些networking上工作正常,但在其他networking上,它无法解决这个问题,并给出一个未知的主机错误。 一段时间后,它开始再次工作,并熄灭。 我创build了两个更多的logging集“api.read.b1.example.com”和“api.write.b1.example.com”,并指出他们是相同的负载均衡器,他们工作正常的networking是无法解决“api.b1.example.com”。 有谁知道发生了什么问题? AWS上是否有其他设置更改? 我怀疑这是一个DNScaching问题,因为一段时间后它能够解决一段时间,然后熄灭。 请让我知道我必须考虑的任何领域。