Ich bewerte, um einen Webcrawler mit Storm (das Echtzeit-Framework, nicht die IDE) zu bauen. My Spout würde einen Stream von URIs liefern, die im ersten Bolt, der in PHP geschrieben ist, aufgerufen und abgerufen werden müssen.Nicht blockierende HTTP-Aufrufe in Storm mit PHP
Da ich von einem node.js-Hintergrund komme, weiß ich, dass es möglich ist, eine solche Funktionalität auf nicht blockierende Weise zu erstellen, indem Rückrufe verwendet werden. Meine naive Idee wäre, einfach eine Menge Aufgaben für diesen Bolt zu konfigurieren, so dass die Ressourcen vollständig genutzt werden können, während einige Taks auf Antworten warten. Das Problem ist, php ist berüchtigt, eine Menge Ressourcen für jeden Prozess zu vergeben, und ich habe keine Ahnung, wie Storm das intern verwaltet und ob das eine gute Idee ist.
Ist ein node.js-ähnliches Verhalten in dieser Umgebung möglich? Oder muss ich für diesen Bolzen in eine andere Sprache wechseln, um das zu erreichen (und wenn ja, wie mache ich das)?