我有一個非常直接的主/從複製設置與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