我有4个运行ruby web服务器的web服务器,和一个运行haproxy的服务器。 我可以使用ab对一个Web服务器获得RPS(每秒请求数)300。 但是,我只能得到340反对haproxy服务器的RPS。 简单的示例ruby应用程序只提供了一个从mysql获取某个ID并返回给客户端的API。 这是我的haproxy conf global log 127.0.0.1 local2 chroot /var/lib/haproxy pidfile /var/run/haproxy.pid maxconn 100000 user haproxy group haproxy daemon defaults log global maxconn 1000000 frontend api bind *:8080 mode http use_backend web backend web balance roundrobin mode http server 10.0.1.100:8080 server 10.0.1.101:8080 server 10.0.1.102:8080 server 10.0.1.103:8080 任何build议,将不胜感激
我正在尝试在AWS中为正在运行的应用程序设置高可用性群集。 该应用程序位于Oracle RDS前面的EC2实例上。 如果我使用传统的负载均衡,并且同时运行两个实例,那么数据库就会损坏,因为这两个实例将对数据库进行更改,但不会彼此识别,所以我需要执行主动/被动负载平衡。 我的问题是,如果被动实例正在运行应用程序,即使没有stream量进入,它也会在0.1%左右的时间内对数据库进行更改。 这意味着我需要确保当主节点健康时应用程序服务没有在备份节点上运行。 我的理想场景是运行主动/被动故障转移,可以执行以下操作: 运行状况检查主节点 如果主节点健康,则将stream量转发到主节点 如果主节点不健康,请运行启动服务的脚本,然后将stream量转发到辅助节点 我一直在研究HAProxy,但是我还没有看到在主节点出现故障的情况下让HAProxy在备份服务器上运行任意脚本的方法。 我见过关于使用keepalived的一些讨论。 我在Keepalived中build议可能吗? 还有什么可以做到的吗?
我正在使用HAProxy为LDAP服务器执行自动故障转移,但我不希望自动故障恢复。 场景是我有2个节点,s1和s2。 我希望所有的stream量去s1,除非它失败,当它失败,我希望所有的stream量去s2。 当s1再次变得健康的时候,我不希望自动将stream量发送回去,因为有些条目将在s2上生成。 我希望确保所有数据都已经同步,然后再使s1处于活动状态。 我像这样configurationHAProxy: backend bk_app stick-table type ip size 1 nopurge stick on dst option httpchk server s1 10.37.226.118:80 check server s2 10.37.226.113:80 check backup 这似乎工作,即使s1健康了,连接仍然继续到s2。 我的问题是 – 如何从命令行清除stick-table,换句话说,如何将stream量redirect到s1? 我看到了一些build议,如果我强制s2失败,HAProxy会将stream量redirect回s1。 这似乎工作,但是当s2再次变得健康的时候,HAProxy将stream量再次引导回到s2,换句话说,stick-table仍然有效。 我看到一些build议,说我只需要重新启动HAProxy,完美的工作,但这看起来像核选项! 是否有某种命令行选项来清除粘贴表?
我们有一些开发人员希望使用HAProxy内置的404禁用选项来临时删除后台服务器以进行维护,例如代码推送。 目前,我们的后端configuration看起来像这样: defaults mode http log global option httplog option dontlognull option forwardfor except 127.0.0.0/8 option redispatch option http-server-close retries 3 timeout http-request 10m timeout queue 1m timeout connect 10s timeout client 10m timeout server 10m timeout http-keep-alive 10s timeout check 10s timeout tunnel 4hrs maxconn 10000 frontend http_https_frontend bind 192.168.1.1:80 bind 192.168.1.1:443 ssl crt […]
我有一个haproxy 1.7.7安装,我试图与snmp集成。 我已经安装并启用了snmp,但haproxy.pl打包的haproxy.pl插件运行不正常。 首先,我在Ubuntu 16.04 LTS中安装了以下软件包: sudo apt-get install snmp snmpd snmp-mibs-downloader libsnmp-perl 然后我按照haproxy-1.7.7/contrib/netsnmp-perl/README Install: cp haproxy.pl /etc/snmp/ grep -q "disablePerl false" /etc/snmp/snmpd.conf || echo "disablePerl false" >> /etc/snmp/snmpd.conf echo "perl do '/etc/snmp/haproxy.pl';" >> /etc/snmp/snmpd.conf 这是我的/etc/snmp/snmp.conf : # As the snmp packages come without MIB files due to license reasons, loading # of MIBs is […]
我想让我的后端服务器haproxy统计信息。 我可以用“socket.http”模块和stats csv文件做到这一点,但这不是我想要的。 我想知道另一种方法吗? 如果我得到这些信息,我将select在后端具有最佳统计信息的节点。
需要你的帮助的问题之一。 我有一个顶级域名为例如mydomain.com,如果我尝试访问mydoamin.com它应该redirect到https://mycodmain.com/Portal 但是,如果我尝试访问mydoamin.com/或mydoamin.com/junk或mydoamin.com/ 如何使用ACL请求在haproxy上实现? 非常感谢 …
我的haproxyconfiguration看起来像redirect到5601为kibana不起作用。 为什么? ########################################################################## defaults mode http log global option httplog timeout connect 10s timeout client 30s timeout server 30s frontend http-in bind *:80 acl main path_beg -i /main acl kibana path_beg -i /kibana redirect location main if !main use_backend kibana-backend if kibana default_backend application-backend backend application-backend mode http balance leastconn option httpclose option forwardfor stats […]
当我尝试configurationhaproxy.cfg时,一切似乎都可以,但是当我使用浏览器进行testing时,连接非常不稳定,有时会工作,有时会发送错误。 我的configuration文件完成后几个build议的post,也似乎没有平衡请求,因为总是响应相同的服务器。 我的configuration文件是这样的: ————————————————– —————————- 使用httpstesting“真正的负载均衡” ————————————————– —————————- 全局日志127.0.0.1 local0 maxconn 4000守护进程uid 99 gid 99统计信息socket /tmp/haproxy.stats级别admin 默认日志全局超时服务器5s超时连接5s超时客户端5s 前端https_frontend绑定*:8543绑定*:8080绑定*:8081模式tcp default_backend web_server 后端web_server模式tcp余额roundrobin stick-tabletypesbinary len 32大小30k过期30m acl clienthello req_ssl_hello_type 1 acl serverhello rep_ssl_hello_type 2 tcp-request inspect-delay 5s tcp-request content如果是clienthello,则接受 tcp响应内容接受,如果serverhello坚持payload_lv(43,1)如果clienthello坚持存储响应payload_lv(43,1)如果serverhello 定义后端服务器,最多可处理512个并发连接 server wserver1 192.168.100.10:8543 weight 1 maxconn 512 server wserver2 192.168.100.20:8543 weight 1 maxconn 512 server wserver3 […]
我想configurationHA代理只作为一个反向代理它正在实施,以取代Squid。 目前,我已经工作了,在80端口的物理防火墙发出请求,防火墙将它传递给HA代理服务器,然后将HA代理服务器传递到另一个端口上的后端networking服务器。 这是我正在使用的简单configuration; listen test 10.10.250.20:80 mode tcp balance roundrobin option tcplog server static test.com.webserver:9081 check 如果只有一个web服务器和网站,这是好的,但我想configuration它的方式,高可信代理监听stream量进入域名如test.com&然后redirectstream量&而不是哈哈的IP地址代理服务器是10.10.250.20。 那可能吗?