我有一个非常直接的主/从复制设置与MySQL。 ActiveRecord被配置为按照database.yml中的预期命中主主机名。我的问题是,目前是否有可能为ActiveRecord设置一个选项来执行从设备的所有读取操作并将写入操作留给主设备?我正在使用Ruby on Rails/ActiveRecord 3.1.3。我没有找到任何选项来执行以下操作,只是database.yml中的一个主机输入字段。目前这可能吗?ActiveRecord配置读取从机MySQL框
3
A
回答
4
是的,这是可能的,但你需要使用它的宝石;它不是内置于Rails本身。
我目前使用seamless database pool,它的效果很好。 Octopus是另一种选择。
2
有makara gem。它将所有SELECT
语句发送给从站并将操作写入主站。
添加这就像你Gemfile
:
gem 'makara'
,然后配置你的database.ml这样的:
production:
adapter: 'mysql2_makara'
database: 'MyAppProduction'
# any other standard AR configurations
# add a makara subconfig
makara:
# the following are default values
blacklist_duration: 5
master_ttl: 5
sticky: true
# list your connections with the override values (they're merged into the top-level config)
# be sure to provide the role if master, role is assumed to be a slave if not provided
connections:
- role: master
host: master.sql.host
- role: slave
host: slave1.sql.host
- role: slave
host: slave2.sql.host
0
我们也有同样的要求。目前,这在ActiveRecord中是不可能的。
我们蹦出了2颗宝石,八达通和马卡拉。我写了一篇比较这两个宝石的博客:https://ypoonawala.wordpress.com/2015/11/15/octopus-vs-makara-read-write-adapters-for-activerecord-2/
在我看来,马卡拉运作良好,弥补了八达通的问题。
相关问题
- 1. MySQL主从从机配置
- 2. RequireJS:从app.js读取配置
- 3. 如何读取| DataDirectory |从配置设置
- 4. 从validation.yml读取配置设置
- 5. Buildpack读取配置
- 6. 从soapUI框架读取配置单元数据
- 7. ASP.NET无法从外部配置文件读取配置设置
- 8. 从Nifi的配置文件读取
- 9. 如何从ASPX读取配置文件?
- 10. 从JavaScript中读取Heroku配置变量
- 11. asp.net从类库读取配置文件
- 12. 从配置文件中读取语法
- 13. Spring Redis - 从application.properties文件读取配置
- 14. 从文件中读取配置信息
- 15. 从mapreduce中读取配置单元表
- 16. Angular2从配置文件中读取
- 17. 从E071K读取配置数据
- 18. 从配置文件中读取错误
- 19. 从配置文件中读取log4net.Util.PatternString
- 20. 从文件读取一个配置
- 21. 从配置中读取Spring的值
- 22. 从C#读取NHibernate配置文件
- 23. 从环境中读取LogEntries配置
- 24. 从数据库中读取.NET配置
- 25. 试图从appsettings.json读取Serilog配置
- 26. 从配置文件读取变量
- 27. 从配置文件中读取端点
- 28. 从数据库读取mule配置
- 29. 从shell脚本读取配置文件
- 30. vertx - 从属性/配置文件读取
我试过使用Makara,但是有没有什么办法可以使默认读取是从主机,只有某些查询是从奴隶?八达通允许使用“:using”子句。 – Yahya
我找到了我的问题的答案。检查这个链接:https://github.com/ankane/shorts/blob/master/Scaling-Reads.md – Yahya