我试图找出一种dynamicpipe理负载均衡configuration的方法。 我想根据整个系统负载来添加和删除“服务节点”。 到目前为止,我的研究成果揭示了“Thalassa” https://github.com/PearsonEducation/thalassa/blob/master/README.md ,它使用Node.JS + Seaportpipe理客户端,然后更新HA-Proxyconfiguration 我仍然不相信Thalassa是否足够稳定,可用于生产系统。 那里有可用的替代品,提供相同的function?
我一直在阅读并开始设置一些不同的服务器群集环境。 我使用各种Linux发行版正常工作。 基本设置如下: —– App Server 1 | Database Server 1 Load Balancer –| Database Server 2 | —– App Server 2 正如你所看到的,这是一个基本的奴隶主设置。 我的问题我不确定复制应用程序服务器部分的最佳方式。 所以,如果新的脚本文件或更改是对应用程序服务器1,这些更改如何级联到第二个应用程序服务器? 数据库服务器运行MySQL,所以任何更新都会自动更新到其他的级联。
我已经configurationHAProxy一个单一的前端和后端,从统计页面我看到以下统计: system limits: memmax = unlimited; ulimit-n = 20013 maxsocs = 20013; maxconn = 10000; maxpripes =0 current conns = 361; current pipes 0/0; conn rate = 27/sec Running tasks: 1/366; idle = 98% 在会话前端部分,我看到: Cur: 360 Max: 427 Limit 2000 在后端: Cur: 0 Max: 3 Limit: 2000 为了简化,我附上了这个数字的形象: 我不明白的是,为什么如果当前连接是: 361 ,后端有0 。 难道是由于timeout queue设置,HAproxy限制/排队传入的连接到一些如何保护后端? […]
我configuration了一个8核的服务器,并计划部署一个networking服务。 为了扩展请求负载,我想运行我的服务的8个实例。 这里没什么可怕的。 我无法访问硬件负载平衡器。 我应该提到,我目前已经分配了5个公共IP地址(但我可以获得更多)。 因此,我想听听您对构build软件负载平衡解决scheme的build议。 明显的select是: 使用HAProxy; 要么 前叉我的应用程序(如Facebook的龙卷风和独angular兽都做); 在这里插入你的想法 。 我的目标是: 扩展服务实例之间的请求负载; 和 允许我的服务的滚动重新启动(代码升级)。 我应该提到,这不是一个基于HTTP的服务,所以NGiNX之类的。 我不喜欢HAProxy因为它的记忆要求; 它似乎需要每个客户端连接的读取和写入缓冲区。 因此,我会在内核级别,HAProxy和我的应用程序中使用缓冲区。 这太傻了! 也许我在这方面错过了一些东西? 谢谢!
我正在设置HAProxy来在两个Web服务器之间进行负载平衡。 网站上的一些页面需要SSL。 Stunnel正在处理https连接并将它们传递给haproxy(Stunnel包含证书)。 HAProxy将使用http将请求传递给Web服务器。 在内部networking中包含Web服务器和haproxy是否足以符合PCI? 有什么需要注意的吗?
早些时候,我没有指定一个自定义的日志格式,捕获的请求标题打印得很好。 我想loggingunique-id-header ,但找不到任何方法。 所以我复制粘贴在http://haproxy.1wt.eu/download/1.5/doc/configuration.txt上提到的日志格式,唯一的ID开始获取logging。 不幸的是,现在捕获的请求标头没有被logging。 %hrl and %hsl作为空string出现。 很奇怪。 这是我的configuration,plzz帮助:( listen server bind *:80 mode http option httplog option http-server-close no option logasap # disable early logging of HTTP requests so that total transfer time is logged option forwardfor capture request header X-Forwarded-For len 500 capture request header Host len 500 capture request header X-Request-UID […]
我们正在运行haproxy生产约10k +并发用户。 但是我们在netstat输出中看到很多FIN_WAIT2,CLOSE_WAIT,LAST_ACK和TIME_WAIT。 这个输出在8G Ubuntu-12.04节点上。 8046 CLOSE_WAIT 1 CLOSING 1 established) 40869 ESTABLISHED 1212 FIN_WAIT1 7575 FIN_WAIT2 1 Foreign 2252 LAST_ACK 7 LISTEN 143 SYN_RECV 4920 TIME_WAIT 有人可以告诉我什么调整我需要做的? 请注意,所有这些连接都是持久连接。 tcp_fin_timeout = 30 tcp_keepalive_time = 1800 现在,应用程序工作正常。 但想知道会有任何问题,因为我们添加更多的用户到这个haproxy节点。
我想从一台服务器迁移100多个站点到另一台服务器。 目前的计划是逐渐添加一个acl,因为他们被移动到一个新的服务器引导stream量。 这是一个简单的例子 front http_frontend bind *:80 acl is_new hdr_end(host) -i sub1.domain.com acl is_new hdr_end(host) -i sub2.domain.com acl is_new hdr_end(host) -i www.domain2.com mode http # etc use_backend web1 if is_new default_backend legacy1 一旦它们全部移动,我们将改变default_backend 有没有办法从另一个文件读取这些acls? 或者从文件中读取域名 – 可能是这样的? acl is_new hdr_end(host) -i /path/to/file 比如,我把下面所有的安全证书都包括进去了,这样的事情会很棒! bind *:443 ssl crt /etc/haproxy/certs.d 这不是世界末日,如果不是的话,它会很好,整齐:)。
我们使用fastcgi协议运行多个后端服务器,并使用HAproxy在它们之间进行平衡。 这是一个configuration示例: listen Balancer 192.168.0.1:2000 mode tcp option tcplog timeout connect 2000 timeout server 2000 timeout queue 2000 timeout client 2000 balance leastconn server backend1 192.168.0.2:2000 check inter 2000 rise 2 fall 5 server backend2 192.168.0.3:2000 check inter 2000 rise 2 fall 5 server backend3 192.168.0.4:2000 check inter 2000 rise 2 fall 5 server backend4 […]
我们需要确保HAProxy日志实际上已经成功地写入到磁盘,然后将即将到来的请求交给我们的服务器。 换句话说,我们需要HAProxy进行同步logging并阻塞,直到日志安全写入磁盘。 这可能吗? 怎么样? 谢谢!