gpt4 book ai didi

node.js - 在同一个 Kubernetes Node 上多次复制 Node.js Kubernetes 服务器 pod 是否有意义?

转载 作者:行者123 更新时间:2023-12-02 11:38:49 25 4
gpt4 key购买 nike

我们有一个应用程序可以处理可能需要几分钟才能返回响应的请求。将这个应用程序放在一个 pod 中并在同一个 Node 中多次复制是否有意义,以便我们可以在新线程上处理每个请求(考虑到 nodejs 是单线程的)?

最佳答案

这里的用例有点不稳定。根据您的说法,您的应用程序是单线程应用程序,并且您希望在新请求被触发后立即增加 pod,仅当前一个 pod 很忙或有锁时,简单来说就是一个新的 pod 带有一个新的请求前一个 pod 是否忙。

Kubernetes 是容器的编排器,在 Kubernetes 上部署单体应用程序不仅会降低 Kubernetes 所能做的所有事情,而且还会带来大量部署和自动化问题的开销。

此外,当您从单体(= 单线程)转变为(微)面向服务的架构时,一件好事,您可以为每个服务拥有一个独立的事件循环。因为每个 Node 进程都将在容器内隔离运行!

我建议您考虑您的应用程序架构设计,将它们分解为多线程,然后重新访问 kubernetes。

但是引用相同的 https://www.dataversity.net/use-kubernetes-deploy-monolithic-apps/# Linux shell 是 Linux shell 是 Linux shell。 你可以让它发挥作用,下面是一个前进的方向。

战略解决方案:您可以声明一个 HPA [Horizo​​ntal Pod Autoscaler] 用于您的部署,标志为 --max-replicas=xx ,那么您需要使用 编写作业请求指标 ,只要有对服务的请求,Deployment 就应该自动缩放并同样地去缩放。此外,一旦请求结束,您将不得不缩小规模。您应该使用 v2beta2 HPA 的 apiVersion,因为它允许这种类型的指标。

另外我认为你将不得不使用 v2beta2 HPA 的 apiVersion,因为您必须将请求计数保持为一元,以便请求不会生成 5XX 因为如果未设置此类指标,kubernetes 服务会将请求发送到同一个 pod。

关于node.js - 在同一个 Kubernetes Node 上多次复制 Node.js Kubernetes 服务器 pod 是否有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62049449/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com