我正在学习Node.js,并了解了一些使用Node来扩展应用程序的方式。基本上有两种方式:集群化和工作线程。所以,我想问一个关于Node.js可扩展性的问题。据我所知,集群化有助于创建几个Node.js应用程序实例,从而帮助处理更多的请求。但问题是我们不能通过Docker实现相同的效果吗?即,将一个Node.js应用程序包装起来并创建克隆副本,然后在它们前面使用负载均衡器。这样做是否可行?
我正在学习Node.js,并了解了一些使用Node来扩展应用程序的方式。基本上有两种方式:集群化和工作线程。所以,我想问一个关于Node.js可扩展性的问题。据我所知,集群化有助于创建几个Node.js应用程序实例,从而帮助处理更多的请求。但问题是我们不能通过Docker实现相同的效果吗?即,将一个Node.js应用程序包装起来并创建克隆副本,然后在它们前面使用负载均衡器。这样做是否可行?
您可以同时进行两者操作,但这取决于您如何设计应用程序架构。如果每个实例相对独立,则可以启动N个容器,每个容器都有一个Node进程。如果它们相互依赖,则可能希望在一个容器中使用一个分叉的进程管理器。
请记住,许多集群化工具都是为解决Docker本身解决的相同问题而构建的,因此这里的功能将有重叠部分。