Controller/Worker-Modell

Im Controller/Worker-Modell (manchmal auch als Chef/Worker bezeichnet) empfängt eine Controllerentität eine oder mehrere Anforderungen und erstellt dann Workerentitäten, um sie auszuführen. In der Regel steuert der Controller die Anzahl der Worker und die Aktionen der einzelnen Worker. Ein Worker wird unabhängig von anderen Workern ausgeführt.

Ein Beispiel für dieses Modell ist ein Druckjobspooler, der eine Gruppe von Druckern steuert. Der Spooler hat die Aufgabe sicherzustellen, dass die empfangenen Druckanforderungen zeitnah verarbeitet werden. Wenn der Spooler eine Anforderung empfängt, wählt die Controllerentität einen Drucker aus und veranlasst einen Mitarbeiter, den Job auf dem Drucker zu drucken. Jeder Mitarbeiter druckt jeweils einen Job auf einem Drucker, während er auch die Ablaufsteuerung und andere Druckdetails verarbeitet. Der Spooler unterstützt möglicherweise den Jobabbruch oder andere Funktionen, für die der Controller Worker-Entitäten abbrechen oder Jobs neu zuordnen muss.