我想部署一个使用WebSocket协议的交互式呈现服务。该服务是容器化的,可以服务到N个(假设1 <= N <= 10)客户端。小N的原因是每个新的连接都会创建一个新的进程(在容器中),这个进程需要相当多的资源。我读过一些关于应用程序负载平衡器、服务负载平衡器、AWS Fargate等方面的教程,这些负载平衡策略主要集中在CPU负载或内存使用上。但是我找不到任何文档来进行“基于连接”的路由。
是否有AWS技术/子系统允许我启动一个新的容器(任务?)当一个“当前”容器(任务?)“几乎没有座位了”吗?路由不能将任何进一步的连接路由到“满”容器,但不能丢弃该完整容器的现有连接。一次容器(任务?)没有连接,就应该停止(如果不是最后一个连接),以避免消耗太多不必要的资源。
发布于 2020-03-28 02:07:35
您是此服务的作者/开发人员吗?如果您更好地重新设计它,因为您所描述的不是一个合适的、可伸缩的体系结构。
最接近您声明的需求是使用AWS Lambda - Lambdas是每个请求创建的,也就是说,如果您有一个客户端,您将有一个lambda运行,如果您有100个客户机,您将有100个lambdas运行。是自动的。通常,您会使用Lambdas和AWS网关作为它们的前端。
对ALB、ECS、Fargate等进行同样的操作需要一些复杂的流程,而您必须开发这些流程。我不会走那条路。
使用Lambda或重新架构它进行批处理或类似的事情。
希望有帮助:)
https://serverfault.com/questions/1008685
复制相似问题