Skip to main content
 首页 » 编程设计

python之传出负载均衡器

2025年05月04日17leader

我在 python 中有一个大的线程提要检索脚本。

我的问题是,如何负载平衡传出请求,这样我就不会太频繁地访问任何一台主机?

这对 feedburner 来说是个大问题,因为很大比例的站点通过 feedburner 代理他们的 RSS,并且使事情变得更复杂的是,许多站点将其域上的子域别名为 feedburner 以掩盖他们正在使用它的事实(例如“mysite”将其 RSS URL 设置为 feeds.mysite.com/mysite,其中 feeds.mysite.com 跳转到 feedburner)。有时它会阻止我一段时间并重定向到他们的 "automated requests" error page .

请您参考如下方法:

您可能应该做一个一次性的请求(每周/每月,无论合适)。对于每个提要并遵循重定向以获得“真实”地址。无论您当时的限制情况如何,您都应该能够解析所有提要,保存该数据,然后为您添加到列表中的每个新提要执行一次。你可以看看urllib's geturl()因为它从您输入的 URL 返回最终 URL。当您对 Feed 执行 ping 操作时,请务必使用原始的(为了负载平衡而保留“真实的”)以确保在用户移动或类似操作时正确重定向。

完成后,您可以简单地设计一种加载机制,例如给定域每小时仅 X 次请求,遍历每个提要并跳过主机已达到限制的提要。如果 feedburner 将其限制公开(不太可能),您可以将其用于 X,否则您将只需要估计它并粗略估计您知道低于限制。然而,了解谷歌,他们的限制可能衡量模式并且没有特定的硬限制。

编辑:添加来自评论的建议。