【发布时间】:2013-09-21 23:05:58
【问题描述】:
我有两台服务器:Web 服务器(前端)和分析(后端)服务器。我需要通过 Sidekiq 将工作从前端服务器传递到后端服务器。
我的秘诀是:
- 在 Web 服务器和后端服务器中安装 Sidekiq。我现在有前端 Sidekiq 和后端 Sidekiq。
- 配置前端 Sidekiq 使其指向后端 Sidekiq 的 Redis 服务器。换句话说,两个 Sidekiq 共享同一个 Redis 数据库服务器。
现在,我需要从前端 Sidekiq 将作业排入队列,然后从后端 Sidekiq 执行代码。
我应该怎么做?
【问题讨论】:
-
这并不能直接回答您的问题,因此我将其发布为评论。让多个应用程序共享同一个数据库(尤其是在写入模式下)通常是一个坏主意,因为它迟早会导致不可预测和不可重现的竞争条件和依赖关系的噩梦。难道你不能在后端应用程序上设置一个 API,前端应用程序调用来排队任务吗?
标签: ruby-on-rails redis sidekiq