Kann jemand bitte die Vorteile des Erstellens einer Azure WokerRole im Vergleich zu einem neuen Thread zusammenfassen?Vorteile von Azure WorkerRole vs. Starten eines neuen Threads
Antwort
Durch das Starten einer neuen Worker-Rolleninstanz stehen Ihnen der gesamte Speicher und die CPU für diese Instanzgröße zur Verfügung, während beim Erstellen von Threads die Ressourcen einer Rolle für diese Instanzgröße gemeinsam genutzt werden.
Ich würde sagen, dass es auch davon abhängt, was Sie verarbeiten. Außerdem denke ich, dass Threading oder jede parallele Verarbeitung nur dann sinnvoll ist, wenn Sie eine Medium-Instanz und eine Version mit mindestens zwei Kernen verwenden.
Die primären Vorteile IMHO sind, dass Sie eine Trennung von Bedenken erstellen sowie die Fähigkeit, die Kapazität des Hintergrundprozesses und des Frontends abhängig zu skalieren.
Ich nehme an, Sie meinen, einen neuen Thread von einem von IIS gehosteten Dienst/einer WebRole zu starten. Mein Hauptanliegen wäre das Recyceln von IIS-App-Pools und Speicherverbrauch. Abhängig von der Art der Anwendung, laden Sie Ihre Anwendung und IIS Einstellungen haben Sie nicht viel Kontrolle über den Lebenszyklus und die Ressourcen des Prozesses in dem Ihr Thread leben wird.
Einverstanden, außer dass ich nicht Assoziiere 'Arbeiterrolle' mit 'Hintergrundprozesse'. Dies wird viel offensichtlicher, wenn beispielsweise ein öffentlich zugänglicher Web-Service oder ein Webserver wie Tomcat oder Jetty gehostet wird, bei dem IIS nicht aktiviert werden muss. –