繁体   English   中英

Rails 4.2使用nginx redis和sidekiq进行负载均衡

[英]Rails 4.2 load balancing with nginx redis and sidekiq

嗨,我刚刚推出了一个rails 4应用程序,该应用程序使用nginx作为负载均衡器,在2个端口上使用瘦服务轨道。 另外我使用redis作为缓存,也被sidekiq使用。

我想知道如何使用另一台机器进行扩展,以便在那里再运行两个rails应用程序。 我的想法是在另一台机器上运行另外两个rails应用程序,但由于sidekiq正在大量使用它,因此头痛带来了redis。 我的第一个想法就是拥有另一个redis slave,它只能在第二台机器上读取。 但是这可能容易出错,因为为了检查工作队列,我有很多写入redis的内容。

以下场景让我感到困惑。 Web应用程序发出请求并触发执行长时间运行的sidekiq,它会不断更新redis中的状态。 Web客户端每秒轮询应用程序以获取状态。 现在,有可能将请求重定向到第二台机器,而redis slave尚未更新。 所以我想知道如何最好的设置,只使用一个redis实例考虑延迟或运行redis slave?

你有两台机器:

  1. MachineA运行瘦和sidekiq。
  2. MachineB运行瘦和sidekiq。

现在,您在MachineA上安装redis,并将Sidekiq指向MachineA for Redis。 Sidekiqs都会在MachineA上与Redis交谈。 有关详细信息,请参阅使用Redis

附注:redis slave对于只读调试很有用,但对于缩放Sidekiq没有用。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM