Ich arbeite jetzt täglich seit 7-8 Monaten mit akka. Als ich anfing, arbeitete ich an Anwendungen und bemerkte, dass Akteure im Prinzip irgendwo innerhalb des Aktorsystems für die Kommunikation zwischen den meisten Objekten verwendet wurden. Also habe ich das gleiche getan - einen anderen Schauspieler für x / y / z aufdrehen.
Es scheint mir, dass dies zu wahllos ist und die Komplexität dort erhöht, wo es nicht benötigt wird - aber ich kann keine Diskussionen darüber finden, wo Akteure gegen reine synchrone oder sogar asynchrone Logik über Futures eingesetzt werden sollten. Ich dachte über meine Haltung nach, nachdem mein Kollege etwas Ähnliches erwähnt hatte. In letzter Zeit habe ich mehrere Fälle erkannt, in denen ich über eine Aufgabe nachgedacht habe und es dann vermieden habe, einen anderen Akteur zu erstellen, weil ich in einer unveränderlichen Implementierung sicher das gleiche Ergebnis erzielen konnte - z. B. Konfigurationswerte von einer Datenbank oder einer Datei abrufen, auf die Sie nur sehr selten zugreifen Warten Sie, bis das Ergebnis der tatsächliche Anwendungsfall ist.
Insbesondere scheint es mir, dass in jedem Fall, in dem Sie mit unveränderlichen Zuständen spielen, Akteure Komplexität erzeugen und den Durchsatz begrenzen - eine reine Funktion in einem Objekt kann zum Beispiel gleichzeitig aufgerufen werden, ohne dass ein Risiko für eine Nebenläufigkeitsstufe besteht Ein Akteur kann jeweils nur eine Nachricht verarbeiten. Die andere Überlegung ist, dass Sie den Thread parken, wenn Sie auf das Ergebnis warten müssen, es sei denn, Sie beginnen mit der Verwendung von Futures. In Fällen, in denen Sie sich nicht um asynchrone Nachrichten oder Skalierung kümmern müssen, scheint es übertrieben zu sein, einen Schauspieler einzustellen.
Meine Frage ist also: Gibt es eine schlechte Zeit, um Schauspieler einzusetzen? Ich bin neugierig, wie erlang aussieht und würde gerne die Einsicht anderer Menschen haben. Oder ob es einige Prinzipien gibt, die sich mit der Verwendung von Schauspielern befassen.
ask
einem Schauspieler und der Verwendung einer Ebene sind Future
.