Stavo solo confrontando le prestazioni degli attori scala rispetto ai thread java.Quanto sono pesanti i thread Java rispetto agli attori Scala/Akka?
Sono rimasto stupito nel vedere la differenza, ho osservato che con il mio sistema sono riuscito a generare massimo 2000 thread (dal vivo alla volta) Ma con lo stesso sistema sono riuscito a generare ~ 500.000 attori di scala.
Entrambi i programmi hanno utilizzato circa 81 MB di memoria Heap di JVM.
Puoi spiegare come i thread java sono molto pesanti rispetto agli attori scala/akka? Qual è il fattore chiave che ha reso lo scala-attore così leggero?
Se si desidera ottenere la migliore scalabilità, dovrei optare per un server Web basato su attori anziché server web/app basati su Java come JBoss o Tomcat?
Grazie.
Come per la domanda del server Web, dipende da ciò che è necessario. Esistono soluzioni davvero scalabili per il throughput elevato, basate su NIO come Netty, e non usano attori. Hai bisogno di un server web completo? servizi ad alto traffico? Alta integrazione con framework noti (jee, spring, ...)? Attori in generale, e Akka 2.1 in particolare con supporto per il clustering, o giocare! che è basato su Akka, sono una soluzione "scalabile", ma non esiste un proiettile d'argento per tutti gli scenari. Dipende davvero dalle tue esigenze. –