在处理分配给它的存储桶中的所有网址后,我的spout线程会在Storm crawler中保持空闲状态吗?

时间:2018-09-20 09:53:57

标签: web-crawler apache-storm stormcrawler

1)当数据库中的存储桶数大于线程数时会发生什么? 2)如果仅在一个存储桶中有url,但有10个spout线程,该怎么办?剩下的9个线程是否会保持空闲状态?

1 个答案:

答案 0 :(得分:0)

您应该将喷口实例的数量设置为与桶数量相同。如果存储桶的数量大于spout实例的数量,则只会查询数量小于或等于实例数量的存储桶。

所有的spout实例都通过指定存储桶编号将查询发送到db。如果相应的存储桶包含URL,则这些URL将沿着拓扑发送,如果不是,则spout实例将在短暂的空闲后稍后尝试再次查询它。

code of the SQL spout非常简单。