Unicorn多台机器设置

时间:2012-12-29 13:44:08

标签: nginx unicorn high-availability

我对使用Nginx的Unicorn配置有很好的经验,它在优化和调优程序之后运行得很好。但是现在我有一个问题是用Unicorns在多台机器上分配负载的最佳方法是什么。

问题是你有3台机器(Nginx负载均衡器,2台带有Unicorns的APP服务器),你如何管理Unicorns与服务静态资产的负载均衡。

你现在有没有通过TCP连接到Unicorn的任何缺点(超时,连接丢失),是否有任何其他方式通过网络上游套接字连接(可能通过SSH端口转发)? Unicorn设计为无国籍,但你如何处理边缘情况?

我不想从平衡器节点提供静态,所以可以在每个APP服务器上设置Nginx并在它们前面设置哑的Nginx平衡器吗?

P.S。我当前的配置经过了充分测试,可以在Github上找到,但是在已经成为瓶颈的同一台机器上安装了Nginx + Unicorn。

更新:开发严格依赖于特定的服务器配置。瓶颈不仅会因为开发人员的决定而发生,而且还会因为他运营环境而发生。 Stackoverlow已经充满了高度标记的Q& A,与有关特定配置的难以知晓的细节有关。下面回答的Alex和Github一起工作我非常感谢能有这样一位合格的人的回复!

1 个答案:

答案 0 :(得分:1)

不要通过TCP /网络访问Unicorns。

您的设置似乎很好,您只需在APP服务器前添加一个负载均衡器,但我建议将Keepalived(LVS ftw)作为负载均衡器而不是Nginx。

您可以通过套接字平衡与运行Nginx + Unicorns的APP服务器的连接。