在处理了分配给它的bucket中的所有url之后,我的spout线程会在storm crawler中保持空闲吗?

watbbzwu  于 2021-06-24  发布在  Storm
关注(0)|答案(1)|浏览(256)

1) 当数据库中的bucket数大于线程数时会发生什么情况?2) 如果只有一个bucket中有url,但是有10个spout线程,那么会发生什么呢?剩下的9个线程会保持空闲吗?

wz3gfoph

wz3gfoph1#

您应该将喷口示例的数量设置为与桶的数量相同。如果bucket的个数多于spout示例,则只查询示例个数小于等于示例个数的bucket。
所有spout示例都通过指定一个bucket号向db发送查询。如果对应的bucket包含url,那么这些url将被发送到拓扑中,如果没有,那么spout示例将在短暂空闲后再次尝试查询它。
sql喷口的代码非常简单。

相关问题