2012-11-26 14 views
6

Das Schauspieler-basierte Paradigma ist ziemlich cool. Seine Fähigkeit, sich effektiv zu skalieren, macht es zu einem Paradigma, das für jedes gleichzeitige System evaluiert werden muss. Ich habe etwas darüber gelesen und habe eine gute Vorstellung von der Kernabsicht: Fahren Sie Ihre teure Operation mit Nachrichten und mehreren "Akteuren", um Wartezeiten aufgrund von Anfrage/Antwort-Interaktionen zu minimieren und dadurch den Durchsatz Ihres Systems zu erhöhen. Allerdings hatte ich nicht genügend Einblick in die Designmuster, die Menschen mit Schauspielern verwenden. Ich suche nach Designmustern für akteursbasierte Systeme.Design Patterns mit Schauspielern

Ein typisches Beispiel für ein Aktor-Design-Muster ist ein System, in dem es einen Master-Coordinator-Akteur und eine Reihe von Child-Worker-Akteuren gibt. Sie mappen die teure Operation auf kleinere Stücke, senden die kleineren Stücke als Nachrichten an den Haufen von Arbeitern, warten auf Antworten von ihnen und reduzieren sie dann alle auf das Ergebnis. In einigen ausgeklügelten Beispielen dieses Musters teilen die Arbeiterakteure dem Meister mit, dass sie für mehr Arbeit bereit sind, und die Master-Routen zu ihnen arbeiten bei Bedarf mehr. Dies sorgt für ein ausgewogenes Arbeitsergebnis und ist nützlich, wenn die Auftragsgröße ziemlich unterschiedlich ist.

Ich suchte nach Literatur zu mehr Schauspieler-basierten Mustern und konnte keine anderen als die oben genannten Beispiele finden. Ich bin noch nicht in Akka Actors Projekt Samples, aber alle Hinweise wären sehr nützlich.

+1

Hier ist ein großer Beitrag zu diskutieren, wie ein Muster Master/Arbeiter für über Remote-Akteure verteilen verwenden entkoppelt Arbeit: http://letitcrash.com/ post/29044669086/balancing-workload-über-nodes-with-akka-2 –

Antwort

10

Ich empfehle Derek Wyatts Buch "Akka Concurrency" - es konzentriert sich auf die neueste Akka-Distribution (2.1) und geht über einige Best Practices bei der Verwendung von Akka und vielen Designmustern (Schwerpunkt Event-Driven Design). Es wird jedoch einiges an Wissen in Scala vorausgesetzt.

Die Beiträge aus der Akka Summer of Blog Serie ist auch sehr hilfreich (einige von ihnen sind auch von Derek [und einer von mir]) geschrieben.

+0

Das Buch ist großartig. Danke für die Nachricht. – vishr

+0

scheint Scala Schauspieler verwenden akka – tztxf

1

Erwähnenswert ist hier die Arbeit an Enterprise Integration Patterns (http://www.eaipatterns.com/). Es ist durchaus möglich, dass das Wort "Schauspieler" in ihren Arbeiten nie erwähnt wird, aber die Übersetzung von Warteschlangenprozessoren zu Schauspielern ist trivial, wie das Übersetzen von Poe aus dem Englischen ins Französische. Muster für den Lastausgleich, wie Sie es beschreiben, sind das Mindeste, was Sie dort lernen werden.