当前位置: 首页 > 知识库问答 >
问题:

js中的集群和使用Kubernetes的自动伸缩web应用程序服务于相同的目的吗?

阳凌
2023-03-14

JS引入了集群模块来扩展应用程序以实现性能优化。我们让Kubernetes做同样的事情。

我很困惑,如果两者都是为了同一个目的?我的假设是集群最多可以产生8个进程(如果有4个cpu核,每个cpu核有2个线程),在Kubernetes中没有这样的限制。

共有1个答案

乐正涵意
2023-03-14

Kubernetes和Node.js集群模块在不同的级别上运行。

Kubernetes负责编排容器(以及许多其他事情)。从它的角度来看,有需要分配的资源,以及需要或使用特定数量资源的部署。

js集群模块充当负载均衡器,在它所拥有的各个进程之间分叉N次并分散请求,所有这些都在环境(CPU、RAM、网络等)定义的范围内。

实际上,Kubernetes有可能产生额外的Node.js容器(水平伸缩)。另一方面,Node.js只能在其环境中增长(垂直伸缩)。你可以在这里读到这个。

虽然从性能的角度来看,这两种方法可能比较相似(在这两种情况下可以使用相同数量的内核);在单个机器上进行垂直伸缩的问题是,您将失去Kubernetes提供的高可用性方面。另一方面,如果您决定在不同的机器上部署多个Node.js容器,那么对于其中一个将关闭的那一天,您的容忍度要高得多。

 类似资料:
  • 因此,我设置了两个档位,一个运行MySQL(档位#1),另一个设置为可伸缩的PHP5档位(档位#2)。我已经手动将数据库数据恢复到Gear#1中,并手动恢复Gear#2中~/app-root/runtime/repo下的原始Wordpress文件。该应用程序现在运行良好,一切就绪。 然而,当我试图将PHP5可伸缩齿轮的最大数量从1增加到2时,应用程序停止工作,只显示默认的齿轮着陆页面,就像空齿轮会

  • 我正在尝试访问部署在远程机器中的现有kubernetes集群中的服务。我已将集群配置为可以从本地mac通过kubectl访问。 我要连接的服务的入口配置为: 我的/etc/hosts文件如下所示: 我应该使用什么URL从本地浏览器访问此服务?我应该进行更多配置吗?

  • 需求-对作为kubernetes集群一部分在pods中运行的应用程序进行新的Relic监控。 我已经在我的集群上安装了Kube-state-metrics,并且能够使用新的见解查看kubernetes仪表板。 此外,还需要为其配置应用程序监控。下列的https://blog.newrelic.com/2017/11/27/monitoring-application-performance-in-

  • 我用JBossas7创建了一个新的可伸缩应用程序。创建之后,添加MySql墨盒。但是当我使用SSH登录到gear时,我无法看到mysql目录。同样,当尝试使用sqlplus时,会引发command not found错误。 我还尝试使用JDBC使用一个简单的Java应用程序连接到数据库。在Openshift环境中使用了Valuse变量。出现连接超时异常。 我是不是漏掉了一些基本的东西?

  • 我正试图在Kubernetes(托管在Google Kubernetes引擎中)中为我的Java Spring应用程序设置自动缩放。我面临两个问题: > Spring应用程序在开始时使用了大量cpu(大约250mCPU*,但有时甚至是500mCPU),这实际上打破了自动缩放,因为该应用程序的某些实例在超过或少于1分钟后(Spring上下文启动等),仅使用50mCPU。因为在某些应用程序使用少量mC

  • 我相信这听起来很傻,但对于像我这样的初学者来说,这是在炒作我的大脑,如果不弄清楚这一点,我就无法继续我的探索。 假设我正在构建一个简单的java命令行计算器应用程序,它接受2个数字和一个运算符作为输入,并将运算结果返回给用户。现在,我想在上面构建GUI(类似于在线计算器)。为此,我决定构建一个web应用程序,这样我就可以在浏览器上打开应用程序并无缝地使用它。这在我脑海中引出了以下问题 我是否必须用