首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HaProxy同时监听MySQL和HTTP

HaProxy同时监听MySQL和HTTP
EN

Server Fault用户
提问于 2016-06-20 16:40:28
回答 1查看 1.2K关注 0票数 0

我意识到,如果数据库服务器是外部的和独立的,那么使用HAPROXY来处理数据库和服务器会更好,但是是否可能有2台服务器相互复制数据库和文件,并由1台have服务器来平衡负载?有一些困难,让我的have文件工作,同时监听两者,以下是我到目前为止的情况:

代码语言:javascript
运行
复制
     global
         log 127.0.0.1 local0 notice
         maxconn 2000
         user haproxy
         group haproxy

     defaults
        log     global
        mode    http
        option  httplog
        option  dontlognull
        retries 3
        option redispatch
        timeout connect  5000
        timeout client  10000
        timeout server  10000

    listen servers 0.0.0.0:80
        mode http
        stats enable
        balance roundrobin
        option httpclose
        option forwardfor
        server server-1 1.1.1.1:80 check
        server server-2 2.2.2.2:80 check


    listen mysql-cluster
        bind 127.0.0.1:3306
        mode tcp
        option mysql-check user haproxy_check
        balance roundrobin
        server mysql-1 1.1.1.1:3306 check
        server mysql-2 2.2.2.2:3306 check
EN

回答 1

Server Fault用户

回答已采纳

发布于 2016-06-20 20:12:55

是的,您可以使用HAProxy来平衡MySQL TCP连接,但它并不像使用HTTP那样简单。

  • 你需要一个更好的状态检查器。类似于xinetd下的脚本,它将检查数据库是否正常工作,如果没有,则返回http代码200或503。没有它,HAProxy将只能检测端口是否打开。
  • Roundrobin balance在你们两台服务器之间传播连接。最好使用源哈希将会话保留在同一台服务器上。
  • 你将需要主-母复制,但这是一个灾难寻找一个地方发生。也许,最好使用主从复制和主动备份haproxy后端。
  • 大师将很好地与Galera复制工作。也许这是一条路。
  • 您还可能希望使用HAProxy中的起搏器或Keepalived来使HA启用主从MySQL设置。
  • 您还可以查看MySQL代理

无论如何,这不是一件容易的事,而且需要做大量的工作才能使之正确。MySQL可能非常古怪。

票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/785073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档