AWS 应用程序负载均衡器重复请求

AWS 应用程序负载均衡器重复请求

有谁经历过使用应用程序负载均衡器向多个 EC2 实例发送重复请求吗?

我们在 EC2 上有一个由 ALB 支持的 API,最近注意到一些请求被发送到多个实例并导致问题,因为某些操作(例如付款)发生不止一次。

API 是围绕 .net core 构建的,但不要认为这很重要。该问题最近才出现,但并非总是发生。

有人见过这样的事情吗?我见过 2011/2012 年左右的一些旧问题,但没有见过最近的。

答案1

使能够ALB 访问日志(它们被传送至 S3)并进行分析。

更有可能的是,您会发现实际上是您的客户端多次发送请求 - 无论是通过用户交互(例如,用户在等待付款处理时重新加载页面)还是由您的客户端应用程序引起(JS 等待响应超时并重新发送请求)。日志会告诉您。

希望有帮助:)

答案2

我们还观察到经典 ELB(而不是 ALB)也存在同样的情况。我们有证据表明,偶尔(在流量密集的环境中,每天会出现十几次)两个实例会收到完全相同的请求,并且只有一个这些实例的信息保存在 ELB 访问日志中。

此外,根据我们的记录,这种情况已经发生了至少 3 个月(甚至可能是永远),但自 7 月中旬以来可能变得更加严重。

相关内容