我正在评估使用 Storm(实时框架,而不是 IDE)构建一个网络爬虫。我的 Spout 将传递一个 URI 流,必须在第一个 Bolt 中调用和检索,这是用 php 编写的。
来自 node.js 背景,我知道可以使用回调以非阻塞方式构建这样的功能。我的幼稚想法是,只为那个 Bolt 配置很多 Tasks,以便在一些 Taks 等待答案的同时充分利用资源。问题是,php 以为每个进程分配大量资源而臭名昭著,我不知道 Storm 是如何在内部管理这些资源的,以及这是否是个好主意。
在这种环境中是否可能出现类似 node.js 的行为?或者我是否必须为这个 Bolt 切换到另一种语言才能实现它(如果是,我该怎么做)?