28.05.2013 Views

download tesi - MobiLab

download tesi - MobiLab

download tesi - MobiLab

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!