Ruby on rails 将有2台服务器运行Rails+;Sidekiq,使用相同的redis服务器会导致意外行为吗?

Ruby on rails 将有2台服务器运行Rails+;Sidekiq,使用相同的redis服务器会导致意外行为吗?,ruby-on-rails,redis,sidekiq,staging,Ruby On Rails,Redis,Sidekiq,Staging,我计划将我的2个sidekiq实例迁移到1个Redis数据库。我担心比赛条件可能会有问题。这样做安全吗 我目前在生产中有两台rails服务器,它们位于负载平衡器后面。每个服务器都是克隆的,运行一个rails应用程序、sidekiq和一个redis数据库 登台环境具有相同的设置。但是,我已经将两个sidekiq实例连接到一个Redis数据库 到目前为止,我还没有遇到任何问题,但是登台环境没有看到太多的流量,因此看不到任何明显的影响。您至少应该使用不同的redis数据库进行登台和生产,这样来自一个环

我计划将我的2个sidekiq实例迁移到1个Redis数据库。我担心比赛条件可能会有问题。这样做安全吗

我目前在生产中有两台rails服务器,它们位于负载平衡器后面。每个服务器都是克隆的,运行一个rails应用程序、sidekiq和一个redis数据库

登台环境具有相同的设置。但是,我已经将两个sidekiq实例连接到一个Redis数据库


到目前为止,我还没有遇到任何问题,但是登台环境没有看到太多的流量,因此看不到任何明显的影响。

您至少应该使用不同的redis数据库进行登台和生产,这样来自一个环境的任务就不会在另一个环境中运行

在您当前的设置中,来自一台服务器的任务仅由同一台服务器执行,但这不是必需的-您可以在服务器之间共享sidekiq实例池(sidekiq),只要它们具有相同或兼容的代码版本(当新版本的任务最终由旧版本执行时,在推出新版本时可能会出现问题)

这种设置实际上更好——如果一个sidekiq实例的所有线程都很忙,那么来自相应服务器的任务仍然可以在另一个实例上运行。

太好了。非常感谢。(是,暂存和生产环境之间不通信:))