我们可以让 AWS ALB 始终将单个用户的请求转发到同一目标吗?

我们可以让 AWS ALB 始终将单个用户的请求转发到同一目标吗?

我是 AWS ALB 新手,我已设置了 AWS 应用程序负载均衡器以及具有 2 个 EC2 实例的 ECS 集群。整个架构运行良好。但后来我发现来自单个用户的 API 调用会发送到不同的目标(EC2 实例)。

我来解释一下我的情况。我有一个 API 用于上传文件,另一个 API 用于处理该文件。因此,在这种情况下,上传的文件会发送到一个服务器,而处理该文件的 API 会发送到另一个服务器。因此,它会给出错误:“NO ENT 错误”。也就是说,要处理的文件不在服务器上。它实际上在另一台服务器上。

我收到的建议是将文件保存到 S3 而不是服务器。所以我必须确定是否有办法将特定用户的呼叫路由到单个服务器?

答案1

您需要在应用程序负载均衡器目标组上启用粘性会话。

看到这个https://docs.aws.amazon.com/elasticloadbalancing/latest/application/load-balancer-target-groups.html#sticky-sessions

相关内容