【问题标题】:Rails, Redis and SentinelRails、Redis 和 Sentinel
【发布时间】:2015-07-16 19:10:41
【问题描述】:

我有一个由 Sentinel 监控的 4 个节点、1 个主节点和 3 个从节点的 Redis 集群。

现在在 Rails 中,我需要连接到这个集群,从最近的副本读取数据,然后写入主服务器,就像我使用 MongoDB 所做的一样。

使用redis-rails gem,如何配置cache_store 来指定哨兵而不是单个节点?

【问题讨论】:

    标签: ruby-on-rails redis redis-sentinel redis-rails


    【解决方案1】:

    我可能错过了,但我不知道您可以将其配置为从从站读取?但是,这是我的主 + 2 从配置:

    config.cache_store = :redis_store, {
        url: 'redis://prestwick/1',
        sentinels: [{host: 'prestwick.i', port: 26379}, {host: 'carnoustie.i', port: 26379}, {host: 'birkdale.i', port: 26379}],
        role: 'master',
        expires_in: 1.hour
      }
    

    如果有用的话,我对通用 REDIS 对象和 Sidekiq 的配置(在 config/initializers/001_redis.rb 中):

    redis_options = {
      url: 'redis://prestwick/0',
      sentinels: [{host: 'prestwick.i', port: 26379}, {host: 'carnoustie.i', port: 26379}, {host: 'birkdale.i', port: 26379}],
      role: 'master'
    }
    redis_sidekiq_options = {
      url: 'redis://prestwick/2',
      sentinels: [{host: 'prestwick.i', port: 26379}, {host: 'carnoustie.i', port: 26379}, {host: 'birkdale.i', port: 26379}],
      role: 'master'
    }
    
    REDIS = Redis.new(redis_options)
    
    Sidekiq.configure_server do |config|
      config.redis = redis_sidekiq_options
    end
    Sidekiq.configure_client do |config|
      config.redis = redis_sidekiq_options
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-23
      • 2015-10-03
      • 2015-11-12
      • 1970-01-01
      • 2014-05-19
      • 1970-01-01
      相关资源
      最近更新 更多