我正在设计软件实例供应系统的体系结构。为此,我将以这样的方式使用kubernetes:每个客户端将拥有其名称空间以及其完整性容器。但是,kubernetes集群将为所有实例提供一个公共入口点,这将是一个nginx服务器。
我的问题如下,由于所提供的软件允许文件上传,因此如果我的多个客户端同时决定同时上传文件,则可能会导致服务器nginx过载并且没有人可以访问您的文件实例被雇用?
有没有好的方法可以尝试设计我的建筑?
答案 0 :(得分:1)
您可以使用nginx ingress controller并将其部署到多个副本中,以便可以按比例放大以处理负载。然后,您的nginx是集群的一部分(而不是单独的服务器),并且可以利用kubernetes集群的水平扩展能力。
除非您使用NodePort / HostPort在本地运行,否则您可能希望将nginx作为外部负载平衡器运行,因为在这种情况下,您将没有来自云提供商的负载平衡器。然后,您可以在nginx中配置速率限制和限制。如果是云,则还可以使用批注通过nginx ingress进行此操作。