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