gpt4 book ai didi

http - 寻找用于 HTTP 负载共享的消息总线

转载 作者:可可西里 更新时间:2023-11-01 15:17:09 25 4
gpt4 key购买 nike

我有一个 HTTP 应用程序,其中包含性能良好的独立工作器。问题是有时他们需要清除和重建缓存,因此他们会停止响应长达 30 秒。

我研究了许多负载均衡器,但似乎没有一个能解决这个问题。我尝试过 Perlbal 和一些 Apache 模块(如 fcgid),它们很乐意向忙于重建缓存的工作人员发送请求。

所以我的看法是:是否存在某种消息总线解决方案,其中所有 http 请求都排队,让工作人员在他们能够处理消息时处理消息?

或者 - 或者 - 一个负载均衡器,它可以考虑到工作人员有时无法响应。

稍后添加: 我知道一个策略可能是工作人员可以在忙碌时使用管理协议(protocol)来通知负载均衡器,但该解决方案似乎很笨拙,我担心会有是一些导致虚假错误的边缘情况。

最佳答案

如果您使用 Amazon Web Services Load Balancer,您可以获得您想要的结果。您可以在弹性负载均衡器 (ELB) 执行此缓存清除和重建操作时将 EC2 实例标记为不健康。

我要做的是为每个实例创建一个额外的端点,例如称为 rebuild_cache。因此,如果您的 ELB 后面有 5 个实例,您可以制作一个脚本来命中该 rebuild_cache 端点上的每个实例(而不是通过负载均衡器)。这个端点会做 3 件事:

  1. 将实例标记为不健康。负载均衡器会在健康检查失败后意识到它不健康(健康检查的时间和阈值可从 AWS Web 控制台配置)。
  2. 运行缓存清除并重建
  3. 将实例标记为健康。负载均衡器将对实例运行健康检查,并且仅在实例健 conda 到所需的健康检查数量后才开始向其发送流量(同样,此阈值是通过 ELB 健康配置定义的)

关于http - 寻找用于 HTTP 负载共享的消息总线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15587592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com