【问题标题】:Distributing queries to multiple databases through ActiveRecord通过 ActiveRecord 将查询分布到多个数据库
【发布时间】:2013-12-10 10:54:01
【问题描述】:

我有一个多主 MySQL 集群,我想通过使用负载平衡器将来自我的 Rails 项目的读/写查询分发到多个服务器。

问题是,据我所知,Rails 试图在服务器的生命周期内保持连接对象处于活动状态。但是,HAProxy 仅在每个查询打开新连接时才分发查询。这不是我想要的。我希望基于每个查询而不是每个连接进行分发。

我有哪些选项可以根据每个查询将 Rails 查询从我的服务器分发到多主服务器?

注意:这是一种高可用性情况,我们不确定每个 sql server 是否始终处于启动状态。这就是我使用 haproxy 的原因。

【问题讨论】:

    标签: mysql ruby-on-rails haproxy horizontal-scaling


    【解决方案1】:

    haproxy 在第 4 层进行负载平衡,您需要在第 7 层进行一些了解 mysql 协议的东西。 haproxy 无济于事。

    “MySQL 负载均衡器”是一种尝试,我不知道是否有人在生产中使用它。在这个article 你可以看到一些关于使用TrafficScript 的技巧,最后我认为没有任何稳定的软件可以满足你的需求。

    【讨论】:

    • Trafficscript 很有趣。我目前正在使用手工制作的连接池,池中的每个连接都指向不同的数据库,并且通过带宽平衡负载。有时NIH 效果很好:-)
    猜你喜欢
    • 2017-01-27
    • 2021-11-02
    • 2013-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-14
    相关资源
    最近更新 更多