Ich habe gerade die Leistung von Scala-Darstellern vs Java-Threads verglichen.Wie sind Java-Threads im Vergleich zu Scala/Akka-Akteuren schwer?
Ich war erstaunt, den Unterschied zu sehen, ich beobachtete, dass ich mit meinem System maximal ~ 2000 Threads (nur live) spawnen konnte. Aber mit dem gleichen System konnte ich ~ 500.000 Scala-Akteure erzeugen.
Beide Programme verwendeten rund 81 MB Heap-Speicher von JVM.
Können Sie erklären, wie Java-Gewinde so viel Gewicht als Scala/Akka Schauspieler sind? Was ist der Schlüsselfaktor, der scala-actor so viel Leichtgewicht machte?
Wenn ich die beste Skalierbarkeit erreichen möchte, sollte ich für einen aktorbasierten Webserver anstelle eines Java basierten traditionellen Web/App-Servers wie JBoss oder Tomcat gehen?
Danke.
Wie für Ihre Webserver-Frage, hängt es davon ab, was Sie brauchen. Es gibt wirklich skalierbare Lösungen mit hohem Durchsatz, basierend auf NIO wie Netty, und sie verwenden keine Aktoren. Benötigen Sie einen ausgewachsenen Webserver? hohe Verkehrsleistungen? Hohe Integration mit bekannten Frameworks (Jee, Feder, ...)? Schauspieler im Allgemeinen und Akka 2.1 insbesondere mit Unterstützung für Clustering oder spielen! das auf akka basiert, ist auch eine "skalierbare" lösung, aber es gibt keine silberne kugel für alle szenarien. Es hängt wirklich von Ihren Bedürfnissen ab. –