通过ActiveRecord将查询分发到多个数据库

时间:2013-12-10 10:54:01

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

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

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

根据每个查询,我可以选择从我的服务器向多主服务器分发rails查询吗?

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

1 个答案:

答案 0 :(得分:0)

haproxy在第4层上进行负载均衡,你需要在第7层上了解mysql协议。 haproxy无济于事。

“MySQL Load Balancer”尝试这样做,我不知道是否有人在生产中使用它。在这个article中,您可以看到有关使用TrafficScript的一些提示,最后我认为没有任何稳定的软件能够满足您的需求。