Questo è l'ultimo articolo di questa serie ho esplorerà alcune extra di RPC è il server che servirà a noi per implementare un server di applicazioni, ma senza perdere di generalità. Avremo anche per eseguire un test delle prestazioni, vedendo il througput (richieste al secondo) che ha il server.
Extra
Servizi sul lato server accetta parametri di inizializzazione. Questo ci permetterà di passare i dati per configurare il servizio. Questi parametri sono accessibili attraverso il metodo GetParameters () della classe di servizio, che restituisce una mappa con l'installazione.
Validation Service
Prima di aggiungere un servizio al server, eseguire i seguenti controlli:
Che l'attuazione del servizio devono avere un costruttore senza parametri
Che l'implementazione del servizio deve implementare l'interfaccia del servizio
Non sovraccaricare i metodi del servizio
Che il tipo di ritorno dei parametri del metodo sono serializzabili
Questi controlli aiutano ad evitare gli errori più comuni.
Autorizzate ad eseguire
Prima di eseguire effettivamente un metodo di servizio viene invocato un intercettore: onPreExecution. In caso di successo, poi passato per richiamare il servizio, se non eccezionalmente NotExecutedException fuori. Questo sta andando essere utilizzato per implementare, per esempio, meccanismi di sicurezza e auditing (logging).
Performance
Con il test delle prestazioni si verifica se il progetto è scalabile come volevamo. Il test è stato eseguito su un notebook che ha un modello di processore Intel T9500 (2,6 GHz C2D, 6MB di cache Penryn core) con 2 GB di RAM a 32 bit di Ubuntu 9.04 e java6. I risultati sono stati:
Caso Client elabora Cliente le discussioni Ordini per filo Ordini totali Tempo (sec) Richieste / secondo 1
5
30
2500
375000
207
1811,59
2
10
30
2500
750000
229
3275,11
Pur non essendo un rigoroso stress test, fornisce una buona approssimazione delle prestazioni e la scalabilità del servizio: raddoppiando il numero di ordini, ma il tempo passa del 10,6%. Inoltre, vi è un valore che può essere regolato per la creazione del server che è la dimensione del pool dell'Ordine strato di operai che gli ordini spediti il livello di servizio. La dimensione predefinita è 10, ma se siete di fronte ad una configurazione multi CPU può aumentare questo valore per ottenere prestazioni migliori. Per i test di prestazioni abbiamo utilizzato un pool di 10 lavoratori.
Un application server basato su una versione precedente del meccanismo RPC è a posto per diversi anni una delle più grandi banche in Uruguay.
Nel prossimo articolo inizieremo con l'introduzione al server applicazioni e quali sono le componenti principali.
Stay tuned!
