我的用例:
我有许多域要爬网,每个域都有自己的过滤器配置。现在,每个域都作为拓扑运行。 我看到一些域已经抓取了大约 10M 个网址,并在状态队列中还有 50M 个。 其他拓扑处于闲置状态,仅获取种子 URL。 每个拓扑都给定 2GB 的 RAM,每个队列 10 个线程,最大存储桶为 50,每个存储桶的 url 为 100。
拓扑闲置的原因可能是什么..?我怀疑状态队列中处于"已发现"状态的 url 数量很多。
你用什么作为后端?如果是 ES,那么您应该能够使用 Kibana 检查状态索引,并查看这些空闲爬网的种子会发生什么情况。可能是他们被机器人阻止了.txt无法进一步前进。
我会对所有域使用单个状态索引和单个拓扑 - 这将更易于管理和监控。可以轻松地为每个种子设置 URL 过滤,例如,通过在过滤器配置中为每个域定义单独的 URL 过滤器文件,甚至在同一 URL 过滤器文件中定义所有 URL 过滤器文件。