mysql - HAProxy 从 DOWN 到 UP 时使用服务器

标签 mysql haproxy

我有一台运行 HAProxy 的服务器来平衡我们的 mysql 服务器。当我们在很长一段时间内的平均负载较低时,某些服务器可能会关闭,但在未来,如果负载再次变高,这些服务器会自动启动。问题是当一个实例宕机时,HAProxy 再也不会查看它,所以当实例再次启动时,它会被忽略。要解决此问题,我们会在需要时重新启动。

这是我们的配置文件:

global
    log 127.0.0.1 local0 notice
    user haproxy
    group haproxy

defaults
    log global
    retries 2
    timeout connect 3000
    timeout server 5000
    timeout client 5000

listen mysql-cluster
        bind 0.0.0.0:3306
        mode tcp
        option mysql-check user haproxy_check
        balance leastconn
        server mysql-1 ********:3306 check
        server mysql-2 ********:3306 check

也许如果我将重试次数从 2 更改为一个大数字就可以解决我们的问题?

编辑 根据要求,这是我的 HAProxy 版本:

$ haproxy -v
HA-Proxy version 1.4.24 2013/06/17
Copyright 2000-2013 Willy Tarreau <w@1wt.eu>

谢谢

最佳答案

我们在 AWS 基础设施中遇到了类似的情况: 每个实例上的 HAProxy 用于 RDS 副本访问(我们有 3 个副本,但应用程序只能使用一个主机名)。我们通过使用具有相同名称(例如 db.example.internal)和相同权重(加权 Route53 策略)的多个记录将 HAProxy 替换为 Route53 internal 来全局解决此问题。我们还为每个副本创建 Route53 健康检查(TCP 3306 端口检查)。对于我们来说,这个解决方案非常有效,如果我们需要添加/删除 RDS 副本——我们唯一需要更改的地方——Route53 记录和健康检查(我们不需要维护每个实例的 HAProxy 状态/配置)

关于mysql - HAProxy 从 DOWN 到 UP 时使用服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44315899/

相关文章:

php - 对于公共(public)配置文件系统,查询 WHERE id ='. $something .' 时出现 Sql 错误

dockerized HAProxy+Keepalived 实现 HA

ssl - HAProxy 通配符 SSL 后端转发问题

mysql - 添加组后缺少行

mysql - 在 When 情况下按 ASC 排序

php - 在 php 中读取文本文件时出错

haproxy - 从 Haproxy 上的文件读取 acl 白名单 IP

mysql - 在 rails 中生成数据的单元测试中按 created_at 排序

macos - mac 10.11.5 上的 docker + haproxy 不起作用

ssl - HAProxy 如何为 map_dom 计算出 SSL_FC_SNI