gpt4 book ai didi

ruby-on-rails - 运行 Rails + Sidekiq 的 2 台服务器使用相同的 redis 服务器会导致意外行为吗?

转载 作者:IT王子 更新时间:2023-10-29 06:07:12 24 4
gpt4 key购买 nike

我计划迁移我的 2 个 sidekiq 实例以使用 1 个 Redis 数据库。我担心竞争条件可能存在问题。这样做安全吗?

我目前在负载均衡器后面有 2 个生产中的 Rails 服务器。每个服务器都被克隆,运行一个 Rails 应用程序、sidekiq 和一个 Redis 数据库。

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

到目前为止,我没有遇到任何问题,但是暂存环境没有看到太多流量,无法看到任何明显的效果。

最佳答案

您至少应该为暂存和生产使用不同的 Redis 数据库,这样来自一个环境的任务不会最终在另一个环境中运行。

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

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

关于ruby-on-rails - 运行 Rails + Sidekiq 的 2 台服务器使用相同的 redis 服务器会导致意外行为吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56249706/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com