当前位置: 首页 > 面试题库 >

在Sidekiq中使用多个Redis服务器

巫坚白
2023-03-14
问题内容

Sidekiq用来将后台作业处理到我们的Rails项目之一中。我们要使用位于不同位置的其他Redis服务器来ReportDB与其他后台处理作业分开。

根据Sidekiq配置wiki,我们可以像

config / initializers / sidekiq.rb

Sidekiq.configure_server do |config|
   config.redis = { :url => 'redis://redis.example.com:7372/12', :namespace => 'mynamespace' }
end

Sidekiq.configure_client do |config|
   config.redis = { :url => 'redis://redis.example.com:7372/12', :namespace => 'mynamespace' }
end

但是,如何初始化与多个Redis服务器的连接?


问题答案:

Sidekiq 2不支持多个Redis服务器,请升级到仅在今天发布的sidekiq 3,并添加所需的新客户端分片功能。

来自:Sidekiq 3发行说明

客户分片

Sidekiq
2.x具有可扩展性限制:一台Redis服务器。实际上,在良好的硬件上,该限制大于每秒5000个作业,因此在大多数情况下这并不算什么大问题,但是一些更激烈的Sidekiq用户正在达到该限制。更新的(Sidekiq
3)Sidekiq :: Client
API使您可以指定要使用的Redis连接池,而不是以前假设Sidekiq.redis全局池,从而可以将不同类型的作业定位到不同的Redis服务器。现在,您可以将Sidekiq扩展到无穷远!


该API几乎完全向后兼容: 唯一的重大变化是在客户端中间件中
。有关更多详细信息,请参阅升级说明。

===



 类似资料:
  • 问题内容: 我正在满足以下要求的应用程序(Spring): 从Redis Server1读取数据 从Redis Server2读取数据 从Redis Server3读取数据 和 将信息保存到MySQL。 有人可以给我们一个思路,使用Spring Data Redis连接到不同的Redis服务器。 获得了链接:http : //forum.spring.io/forum/spring- projec

  • 问题内容: 我在铁路上使用sidekiq发送电子邮件。我为redis服务器添加了密码,但是似乎无法正确输入密码,因为我遇到了错误 我的sidekiq日志显示应该可以吗? 这是我在初始化程序中的sidekiq.rb 问题答案: 您需要在服务器和客户端块中都配置Redis,如使用Redis wiki页面中所述 。

  • 我正在使用mosquitto(http://mosquitto.org/)作为MQTT代理,并寻求关于负载平衡订阅服务器的建议(针对相同的主题)。这是如何实现的?我所读到的关于该协议的所有内容都表明,相同主题的所有订阅者都将获得一条发布消息。 这似乎效率很低,因此我正在寻找一种方法,将发布的消息以循环方式提供给连接的订阅服务器之一,以确保负载平衡状态。

  • 问题内容: 使用控制台,如何确定sidekiq是否已连接到Redis服务器?我希望能够做这样的事情: 问题答案: 您可以使用Sidekiq提供的Redis信息: 从Sidekiq的Sinatra状态应用程序中获取了它。

  • 问题内容: 下午好, 我有两个单独的但相关的应用程序。它们都应具有自己的后台队列 (请参阅:独立的Sidekiq和Redis进程) 。但是,我偶尔希望能够将作业从推送到的队列中。 从简单的队列/推送角度来看,如果没有现有的Sidekiq / Redis堆栈,则很容易做到这一点: 但是,考虑到我本来会调用a 和from ,那么在这之间可能需要一步。 显然,我可以直接从Sidekiq内部获取序列化和规

  • 问题内容: 在我的Web服务器应用程序中,我有一个方法,该方法可以修改xml文档并看起来类似于: 使用的zip归档文件包含需要修改的xml文件和其他一些文件。如何区分使用的xml文件和方法内部的归档以及应该使用哪种方法参数来表示此使用的资源? 问题答案: 一种解决方案是只读取。您可以将包裹在中。有了,您可以得到with ,然后可以得到与文件名。然后只要检查名称即可。 不过,您需要消耗。这是一个简单