复杂场景的 AWS 负载均衡
AWS load balancing for a complex scenario
我们试图在 AWS 上实施弹性扩展应用程序。但是目前,由于申请过程的复杂性,我对目前的路由算法有疑问。
在我们发送请求的时候应用(一个请求要进行复杂的计算)。我们立即向用户发送令牌并开始计算。因此,用户可以随时 return 使用令牌并访问这些计算结果。当有更多的计算请求时,它们将排在队列中并 2 乘 2 执行,因为一次计算需要相当多的 CPU。如您所见,在这种特定情况下。
- 应用程序活动连接计数非常低,因为我们一收到请求就用令牌响应用户。
- CPU 使用看起来很正常,因为我们进行 2 乘 2 的计算
考虑到这些事实,对于负载均衡器路由,我们面临着弹性实例在整个队列完成计算之前终止的问题,并且由于负载均衡器对排队的请求一无所知,所以队列增长得非常长。
要解决这个问题,要么我们需要手动进行路由,要么我们需要找到一种方法让负载均衡器知道排队的请求数(可能使用 API 调用)。如果您知道如何执行此操作,请帮助我。 (我是 AWS 新手)
欢迎任何想法。
根据评论。
使用原始方法观察到的一个问题是 过早终止 实例,因为它们的 scale-in/out 仅基于 CPU 利用率。
基于作业队列长度 的缩放活动纠正问题的建议解决方案。下面的 AWS link:
中显示了此类解决方案的示例
在示例中,缩放基于以下指标:
The solution is to use a backlog per instance metric with the target value being the acceptable backlog per instance to maintain.
我们试图在 AWS 上实施弹性扩展应用程序。但是目前,由于申请过程的复杂性,我对目前的路由算法有疑问。
在我们发送请求的时候应用(一个请求要进行复杂的计算)。我们立即向用户发送令牌并开始计算。因此,用户可以随时 return 使用令牌并访问这些计算结果。当有更多的计算请求时,它们将排在队列中并 2 乘 2 执行,因为一次计算需要相当多的 CPU。如您所见,在这种特定情况下。
- 应用程序活动连接计数非常低,因为我们一收到请求就用令牌响应用户。
- CPU 使用看起来很正常,因为我们进行 2 乘 2 的计算
考虑到这些事实,对于负载均衡器路由,我们面临着弹性实例在整个队列完成计算之前终止的问题,并且由于负载均衡器对排队的请求一无所知,所以队列增长得非常长。
要解决这个问题,要么我们需要手动进行路由,要么我们需要找到一种方法让负载均衡器知道排队的请求数(可能使用 API 调用)。如果您知道如何执行此操作,请帮助我。 (我是 AWS 新手)
欢迎任何想法。
根据评论。
使用原始方法观察到的一个问题是 过早终止 实例,因为它们的 scale-in/out 仅基于 CPU 利用率。
基于作业队列长度 的缩放活动纠正问题的建议解决方案。下面的 AWS link:
中显示了此类解决方案的示例在示例中,缩放基于以下指标:
The solution is to use a backlog per instance metric with the target value being the acceptable backlog per instance to maintain.