download tesi - MobiLab
download tesi - MobiLab
download tesi - MobiLab
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Analisi delle prestazioni delle principali soluzioni<br />
per servizi publish/subscribe<br />
broker. Un broker è la parte di una soluzione JMS lato server che si occupa di routing,<br />
recovery, persistenza e cosi‟ via. Per quanto riguarda la persistenza, come detto<br />
precedentemente il provider JMS memorizza i messaggi su un persistent storage se il<br />
delivery mode è stato settato a persistent, di modo che sopravvivano a un riavvio del<br />
broker. Inoltre per sopperire alla mancanza del servizio e permetterne la successiva<br />
riattivazione, il provider JMS memorizza anche le durable subscriptions: se così non fosse<br />
il message server, in caso di fallimento, non sarebbe capace di consegnare i messaggi ai<br />
durable subscribers stessi. Per effettuare le operazioni di recovery il provider JMS:<br />
ricrea le destinazioni<br />
recupera la lista di “durable subscriptions” per ogni topic<br />
recupera la lista dei messaggi<br />
recupera la lista di acknowledge per ogni messaggio<br />
È possibile configurare ActiveMQ perché gestisca la persistenza tramite file (AMQ<br />
message store) o tramite database esterno al provider JMS. È stata scelta quest'ultima<br />
opzione perché ha come vantaggio un più facile recupero e interpretazione dei dati<br />
rispetto al caso in cui si utilizzi l‟ AMQ message store, un sistema di gestione della<br />
persistenza basato su file utilizzato di default da ActiveMQ. Le operazioni di accesso e<br />
scrittura su un DB sono sicuramente più pesanti dal punto di vista computazionale, ma<br />
questo approccio è sensato perché la nostra applicazione non ha requisiti particolari di<br />
high performance. All‟avvio il broker creerà automaticamente due tabelle,<br />
ACTIVEMQ_ACKS e ACTIVEMQ_MSGS: la prima tabella mantiene in memoria<br />
informazioni relative ai subscribers e informazioni relative ai messaggi acknowledged, la<br />
seconda contiene al suo interno informazioni relative ai messaggi [48].<br />
2.8 AMQP<br />
Advanced Message Queuing Protocol (AMQP) permette la piena interoperabilità<br />
funzionale tra client e messaging middleware server. L‟obiettivo è di consentire lo<br />
sviluppo e l'uso di una tecnologia standardizzata per middleware di messaggistica. Il fine<br />
62