Jestem świadomy, że jest to bardzo nieprecyzyjne pytanie i może zostać uznane za nieodpowiednie dla stosu. Niestety, mniejsze aplikacje (pod względem liczby aktorów) i "podobne do tutorialu" nie pomagają mi rozwinąć intuicji na temat nadmiaru wiadomości i szybkiego określania granularności między "obiektem scala" a obiektem "corba" .Jak ciężcy są aktorzy akka?
Podczas gdy niemal na pewno utrzymywanie stanu rozmowy z klientem na przykład zasługuje na aktora, w większości przypadków rzeczywistych wymagałoby to interakcji warunkowych/równoległych/alternatywnych modelowanych przez wiele klas. Pozostawia to wybór między traktowaniem aktorów jako elewacji do dość złożonych usług, podobnych do słusznie wycofanego EJB, lub podobnych do obiektów smalltalk, wysyłając komunikaty między sobą, chcąc nie chcąc, kiedykolwiek komunikacja może być zaimplementowana w sposób asynchroniczny.
Oprócz narzutów związanych z przekazywaniem wiadomości, nie będzie również obciążenie związane z zarządzaniem cyklem życia i jestem ostrożny z potencjalnymi problemami spowodowanymi przez łańcuchowe ponowne uruchamianie całych poddrzew aktorów z powodu wyjątków lub innych błędów w katalogu głównym.
Dla tego pytania możemy założyć, że znaczna większość komunikacji odbywa się w ramach jednej maszyny, a przecinanie sieci jest nieznaczne.
Dzięki za pewne twarde liczby. Myślałem o tym w kontekście obsługi pojedynczych pakietów UDP/IP, gdzie pojedynczy aktor musiałby zwrócić uwagę na każdą z nich i dopiero po rozpoznaniu rozmowy jest częścią delegowania do odpowiedzialnego aktora, często będąc stworzony na miejscu. Chociaż możliwe jest usunięcie tego pojedynczego punktu spornego, znacznie zwiększyłoby to złożoność i nigdy nie zostało całkowicie przeniesione na klientów, którzy są licznymi, ale małymi urządzeniami niskiego poziomu, które mogą uruchamiać tylko bardzo proste oprogramowanie. – Turin