为什么集群NodeJS与Docker,以及Einhorn怎么样?

时间:2015-01-20 00:32:24

标签: node.js docker

我一直喜欢使用NodeJS轻松创建/编写应用程序功能。对我来说,NodeJS很简单。

在考虑如何利用多核机器(然后还考虑端口特定应用程序的额外复杂性 - 如80/443上的Web应用程序)时,我的原始解决方案着眼于NodeJS Cluster(或类似于pm2) )也许是负载均衡器。

但是我想知道运行多个容器(解决多核情况)然后在各自的外部负载平衡会有什么不利(或者它不会工作的原因)端口?过去,最好只使用Einhorn或...... Einhorn如何适应这张照片?

所以,问题是 - 仅针对NodeJS(因为我也在考虑Go) - 我是否正确考虑"群集" vs"具有负载平衡的多个docker容器"作为利用多核的两种可能方式?

作为一个单独的问题,Einhorn只是一种替代第三方方式来实现NodeJS集群(例如,它也可以用来对Go应用程序进行负载平衡)吗?

1 个答案:

答案 0 :(得分:2)

Docker开始采用我们过去独立处理的越来越多的集群和负载平衡方面,directly或惯用的使用模式。例如,使用NodeJS,您可以在多个NodeJS容器之间拥有一个nginx或haproxy容器负载平衡。我更喜欢使用fig之类的东西,还设置了restart-policy,以便自动重启容器。在大多数情况下,这消除了对其他群集解决方案的需求。