Domanda

La nostra applicazione ha un server a nodo che i delegati lavorano per numerosi lavoratori-nodi che sono attori remoti. Questa applicazione è prevista per scala, aumentando il numero di nodi dei lavoratori.

Stiamo utilizzando Akka 1.3-RC4, e la scommessa facendo qualcosa di sbagliato, perché si notano i seguenti:

1> Nuove prese sono aperte quando le attività vengono inviati ai nodi dei lavoratori dal server. Le prese chiudono una volta il completamento del compito. C'è un vantaggio rispetto / ragione per cui le prese non sono sempre tenute aperte? C'è qualche conf che dobbiamo modificare?

2> Quando si elencano il numero di descrittori di file aperti dal processo server PID, il numero spara alto proporzionale al numero di socket aperti (totalmente attesi). L'obiettivo di questa applicazione è quello di scala a enormi (globali) di elaborazione-fattorie tuttavia, una volta raggiunto il limite di descrittori di file server-nodo non può socket aperti per eventuali altri lavoratori-nodi. Mi chiedo se dovremmo cambiare il design e l'approccio in un altro modo.

Un'altra cosa che stiamo considerando attivamente è quello di spostare a Akka 2 però, non è sicuro se ha un modo migliore per risolvere questo tipo di problema.

Grazie!

È stato utile?

Soluzione

  1. È possibile aumentare il timeout di lettura per i collegamenti, per tenerli aperti più a lungo
  2. Si dovrebbe passare a 1.3-RC6 in quanto risolve alcuni problemi di prestazioni remote-correlati
  3. Akka sia 2,0 predefinito resuses connessioni in entrata per i messaggi in uscita, che porta a molto scalabilità meglio per il vostro caso d'uso

Spero che questo aiuti,

Saluti, v

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top