[web crawler] Middle Tier

课程中说到 Front Queue 和 Back Queue之间有一个中间件。

  1. 请问中间件主动从Front Queue中poll结果吗并且按顺序 select from one of the front queue and route(inject into) back queue吗。
  2. 在真实场景中我们会选用什么软件来做这个中间见呢?
    是RabbitMQ或者Kafka这样的软件吗?实际部署的时候会使用两个不同的MQ instances吗?
  3. 图中最左边的 URL prioritizer 和 最右边的 Back Queue Selector是单独的micro serivce吗?这些结构会出现 single point of failure 吗?

1.不是按顺序,是按照概率从 P0 - PN 的 Queue 里取一个 URL 放到 back queue
2. 这个中间件就是一个或者一组的async worker,作为 Front Queue 的 consumer, 作为back queue的 producer.