数据库
首页 > 数据库> > mysql – Rails:如何跨主/从数据库分割写/读查询

mysql – Rails:如何跨主/从数据库分割写/读查询

作者:互联网

我的网站有很大的读取流量.比写入流量重很多.

为了提高我的网站的性能,我想到了主/从数据库配置.

octupus gem似乎提供了我想要的东西,但由于我的应用程序非常庞大,我无法通过数百万的源代码行来改变查询分布(将读取查询发送到从属服务器并将查询写入主服务器).

MySQL Proxy似乎是解决此问题的好方法,但由于它是alpha版本,我不想使用它.

所以我的问题是什么是跨主/从服务器分割读/写查询的最佳方法?

是否可以在不使用rails中的任何gems的情况下拆分读/写查询?

解决方法:

使用章鱼gem,您无需更改大量代码即可将写入查询转至主数据库服务器,并将读取查询转至从属服务器.

这是一个简单的配置文件,如here所述.

我过去曾经尝试过这种做法,效果很好.对我来说唯一的问题是,当奴隶关闭时,它不会将查询“重定向”到主数据库服务器,就像我问的那样here.

但是,如果要配置每个单独的查询目标,则需要一些工作.

我建议你开始映射更频繁的查询以及需要更长时间响应的查询.了解这些查询后,您可以单独优化它们.这可能已经解决了部分问题.

如果在此之后仍需要主从复制,请使用章鱼gem仅更改少数复杂查询的行为.

标签:ruby-on-rails,mysql,database-performance,master-slave,octopus
来源: https://codeday.me/bug/20190929/1831416.html