download tesi - MobiLab
download tesi - MobiLab
download tesi - MobiLab
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Affidabilità<br />
Analisi delle prestazioni delle principali soluzioni<br />
per servizi publish/subscribe<br />
Una differenza fondamentale tra OpenAMQ e altri prodotti AMQP è l'approccio alla<br />
affidabilità. Ogni messaggio deve essere parte di una transazione in modo che un eventuale<br />
fallimento può essere recuperato. L'affidabilità è centralizzato, il recapito dei messaggi è<br />
meticoloso, e il protocollo per la consegna affidabile è molto complesso. Quando abbiamo<br />
un mix di questo modello con un clustering per l'alta disponibilità (cioè di essere in grado<br />
di passare a un server di backup se si blocca il primo server) si ottiene in un territorio<br />
ancora più complessa. La complessità crea inaffidabilità e il rischio di incidenti e la perdita<br />
di dati aumenta. L'affidabilità centralizzata è incompatibile con il clustering dei mediatori,<br />
e va contro la moderna progettazione di rete. Consideriamo la rete AMQP idealmente<br />
costruita da apparati a basso costo. Questi possono essere organizzati in modo che un nodo<br />
può essere uno o due AMQP server. Questi nodi possono essere uniti insieme. Tali reti,<br />
essendo più semplice di classici messagge broker, risolvono parte del problema della<br />
reliabity. Per ottenere la piena affidabilità implementiamo un protocollo end-to-end nelle<br />
API per ottenere una maggiore affidabilità. Si noti però che le WireAPI non implementano<br />
ciò, questo è stato fatto dalle applicazioni AMQP piuttosto che da OpenAMQ. Il design è<br />
molto semplice. Costruire messaggistica affidabile come richiesta coppie di messaggio di<br />
risposta. Il mittente di una richiesta detiene la richiesta in memoria o sul disco, fino ad<br />
ottenere una risposta. Se non ottiene una risposta in tempi brevi, invia nuovamente la<br />
richiesta. L'altra estremità ignora le richieste di duplicato. In questo modello l'affidabilità è<br />
invisibile per il protocollo (che poi può essere più semplice e quindi migliore), e non ha<br />
bisogno di sostegno da parte del server (che può essere più semplice e più affidabile). E<br />
funziona con qualsiasi rete AMQP, non importa quanto grande o quanto molti server sono<br />
coinvolti.<br />
2.8.5 QPID<br />
Apache Qpid è un message middleware bastato sulle ultime specifiche AMQP fornendo la<br />
gestione delle transizioni, la coda dei messaggi, la distribuzione dei messaggi, la sicurezza,<br />
71