HAProxy 配置教程

HAProxy 代表高可用性代理,是一种流行的开源软件 TCP/HTTP 负载均衡器和代理解决方案,可在 Linux、macOS 和 FreeBSD 上运行。其最常见的用途是通过将工作负载分布在多个服务器(例如 Web、应用程序、数据库)上来提高服务器环境的性能和可靠性。它用于许多高调的环境中,包括:GitHub、Imgur、Instagram 和 Twitter。

访问控制列表 (ACL) 检查语句并返回 true 或 false。您可以在许多场景中使用 ACL,包括路由流量、阻止流量和转换消息。除非您在另一行中使用ifunless条件引用 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

待续

posted @ 2024-08-08 00:18  wongchaofan  阅读(110)  评论(0编辑  收藏  举报