首页 > 解决方案 > 如何处理我的 kubernetes 集群中文件上传的并发?

问题描述

我正在设计我的软件实例供应系统的架构。为此,我将以这样的方式使用 kubernetes,即每个客户端都将拥有它们的命名空间以及它们完整的 pod。但是,kubernetes 集群将有一个所有实例的公共入口点,这将是一个 nginx 服务器。

我的问题如下,由于提供的软件允许上传文件,万一我的几个客户同时决定同时上传一个文件,我冒着服务器 nginx 过载并且没有人可以访问您雇用的实例的风险?

有什么好的做法可以尝试设计我的架构吗?

标签: dockernginxkubernetes

解决方案


您可以使用nginx 入口控制器并使用多个副本部署它,以便可以扩展它来处理负载。然后你的 nginx 是集群的一部分(而不是单独的服务器),并且可以利用 kubernetes 集群的容量进行水平扩展。

除非您使用 NodePort/HostPort 在本地运行 - 那么您可能希望将您的 nginx 作为外部负载均衡器运行,因为在这种情况下您没有来自云提供商的负载均衡器。然后你可以做的是在 nginx 中配置速率限制和节流。如果是云,那么您还可以使用注释通过 nginx 入口来执行此操作。


推荐阅读