HAProxy 配置教程
HAProxy 代表高可用性代理,是一种流行的开源软件 TCP/HTTP 负载均衡器和代理解决方案,可在 Linux、macOS 和 FreeBSD 上运行。其最常见的用途是通过将工作负载分布在多个服务器(例如 Web、应用程序、数据库)上来提高服务器环境的性能和可靠性。它用于许多高调的环境中,包括:GitHub、Imgur、Instagram 和 Twitter。
访问控制列表 (ACL) 检查语句并返回 true 或 false。您可以在许多场景中使用 ACL,包括路由流量、阻止流量和转换消息。除非您在另一行中使用if
或unless
条件引用 ACL,否则 ACL 不会对您的配置产生任何影响。
frontend www
bind :80
acl images_url path_beg -i /images/ #ACL 的名称是images_url ,path_beg
use_backend static_assets if images_url #根据acl的名称,把数据路由到对应的后端
backend static_assets
server s1 192.168.50.20:80
更多规则参考https://www.haproxy.com/documentation/haproxy-configuration-tutorials/core-concepts/acls/
负载均衡
在以下示例中,我们对 MySQL 服务器进行负载平衡。通常,当服务器可能保持连接的时间可变时,最好将负载平衡算法设置为最少连接。该算法将下一个客户端发送到具有最少活动连接的服务器。
frontend mysql mode tcp bind :3306 default_backend mysql_servers backend mysql_servers mode tcp balance leastconn #最少连接,除此外,还有roundrobin循环模式,source源模式,根据访问源IP分配 server s1 192.168.0.10:3306 server s2 192.168.0.11:3306
待续