指向轨应用程序以对所有数据库读取操作仅读取数据库

时间:2018-06-27 22:45:46

标签: ruby-on-rails ruby-on-rails-4

我有一个Rails 4.2.8应用程序,其中有大量SQL读取击中了主数据库(在AWS RDS Aurora引擎上运行的MySQL 5.7),而只读副本(不断从主数据库复制数据) DB)闲置。

配置rails代码以使用只读DB,同时继续对所有Write操作(例如INSERT,UPDATE,DELETE)使用Main DB的正确方法是什么?

1 个答案:

答案 0 :(得分:1)

看看https://github.com/thiagopradi/octopus-它似乎是为解决您的问题而设计的。

  

章鱼是在ActiveRecord中进行数据库分片的更好方法。分片允许在同一个Rails应用程序中使用多个数据库。尽管有多个项目实现了分片(例如DbCharmer,DataFabric,MultiDb),但每个项目都有其自身的局限性。章鱼项目的主要目标是提供一种更好的数据库分片方法。