2010-12-30 8 views
33

Gradirei alcune indicazioni generali e opinioni per quanto riguarda quale dei due sistemi di messaggistica èQuale sistema di messaggistica incorporato -> ActiveMQ o HornetQ

  • più facile da gestire
  • ha meno grattacapi o roba magica si ha la necessità di sapere ed evitare
  • ha meno dipendenze overal
  • è semplice con cui lavorare.
+0

Non ho usato HornetQ, ma posso dire che ActiveMQ potrebbe essere tutti e quattro. Se stai usando JBoss, HornetQ potrebbe avere una migliore integrazione. ?? –

+2

Voglio usarlo senza Jboss AS. Sia che usi o non usi JBossAS non dovrebbe fare alcuna differenza per le sue caratteristiche osservabili chiave. –

+0

Se stai cercando qualcuno che ti dica qualcosa che ti aiuterà a decidere in un modo o nell'altro. Sicuramente non si può sbagliare con ActiveMQ (a parte il problema del piccolo Spring Dep). L'ho usato per più di due anni in un grande investimento di nuovo schierato in tutto il mondo, e ho sempre avuto un problema significativo, risolto da un semplice aggiornamento. – alexr

risposta

33

più facile da gestire

hornetQ ha un'API per la gestione chiara ed è molto facile da usare.

ha meno grattacapi o roba magica si ha la necessità di conoscere e di evitare

hornetQ è stato fatto per il caso incorporato. È molto, molto facile da integrare nel tuo codice. In effetti puoi farlo con meno di 10 righe di codice.

ha meno dipendenze globali

Tutto sul HornetQ è modulare. L'unica dipendenza richiesta da HornetQ è Netty, che è il provider di rete.

è semplice da utilizzare.

HornetQ è molto semplice da usare. API chiara e, soprattutto, la documentazione è molto, molto completa.

Non è necessario acquistare alcun libro per utilizzare HornetQ. Tutti i documenti sono disponibili gratuitamente sul sito Web di hornetq.

+0

Grazie a Clebert per la risposta e per il tuo duro lavoro in HQ! Domanda ma i tuoi appunti sono giusti.Più uno entra in HQ più uno apprezza quanto è kool. –

+1

Ho provato sia HornetQ che ActiveMQ come broker JMS per la nostra applicazione che genera un carico molto elevato. HornetQ vince in termini di prestazioni e affidabilità. Sfortunatamente entrambi i progetti hanno carenze nella documentazione, ad esempio, l'impostazione di cluster di macchine HornetQ è stata per me un incubo :( –

8

Io uso ActiveMq abbastanza pesantemente nel mio lavoro giornaliero e lo classifico molto per la maggior parte dei punti che hai sollevato. Mi affido soprattutto alla console di amministrazione JMX, è di prima classe.

Ho anche tenuto d'occhio HornetQ e un giorno potrei aggiungere supporto anche per questo. Da quello che posso vedere HornetQ è un po 'più leggero e ha delle ottimizzazioni NIO davvero belle, che dovrebbero farlo volare. Mancano però alcune delle funzionalità di integrazione aziendale offerte da ActiveMQ e possibilmente alcune delle funzionalità di amministrazione. Tuttavia, da quello che posso vedere il team di HornetQ sta lavorando duramente per colmare le lacune.

Non penso che potresti sbagliare con nessuna delle due opzioni a mio avviso. Provali entrambi e vedi cosa si sente meglio.

+11

Una cosa che non mi è piaciuta guardando ActiveMQ è la sua dipendenza da Spring (correggimi se sbaglio). Succhia in primavera e prima che tu lo sappia hai molte dipendenze. HornetQ richiede solo netty e slf4j. Non posso commentare le sue caratteristiche più interessanti, ma analizzare le dipendenze è sempre un buon inizio, dove meno è meglio. –

+0

concordato. L'ho dimenticato. – alexr

+0

Sono d'accordo. Sento che è molto meglio quando gli extra possono essere ortogonali e opzionali a uno strumento. Non sempre possibile, tuttavia gli strumenti di basso livello come DB-s, MQ-s, TM-se simili non devono essere strettamente accoppiati. – will

3

Ho fatto una valutazione approfondita di entrambi prima di decidere su ActiveMQ. È provato e stabile, qualcosa che si desidera in un sistema di messaggistica. Ho usato ActiveMQ su due sistemi su larga scala con grande successo. C'è stato qualche hype su HornetQ qualche tempo fa quando hanno affermato di essere più veloce di ActiveMQ quindi ho dato un'occhiata. HornetQ ha alcuni gravi difetti con il suo clustering che può causare la perdita di messaggi e server che cercano di connettersi indefinitamente a un nodo fallito. Lo sviluppatore principale di HornetQ si rifiuta di riconoscere i difetti in HornetQ e diventa piuttosto difensivo sui forum degli utenti, qualcosa che dovrebbe renderti molto diffidente nei confronti del prodotto.

+0

Non sono sicuro quale risposta scegliere - entrambi hanno punti interessanti su cui riflettere ... –

+5

Per quanto riguarda il tuo punto in poi ("HornetQ si rifiuta di riconoscere i difetti in HornetQ e diventa piuttosto difensivo sui forum degli utenti, qualcosa che dovrebbe farti molto diffidente Prodotto.") Non penso che sia il caso, se lo fosse, non lo è più. Attualmente sono al comando di HornetQ, e abbiamo eseguito alcuni refactoring su HornetQ 2.2.2 e 2.2. 5, e stiamo facendo alcuni grandi miglioramenti in più sulla 2.3.0, e ci piacerebbe qualsiasi feedback –

+0

Hai usato il broker AMQ incorporato o remoto? – raffian

44

In primo luogo, sono di parte. Sono il fondatore del progetto HornetQ, anche se non ci lavoro più.

Perché HornetQ su ActiveMQ? Ecco alcuni buoni motivi:

  1. HornetQ è significativamente più veloce di ActiveMQ. http://community.jboss.org/wiki/HornetQPerformance

    In effetti, HornetQ è il # 1 sistema di messaggistica aziendale più veloce sul mercato. O almeno lo era, quando lo abbiamo testato contro il mercato l'anno scorso. (L'abbiamo testato contro le prime 11 o più implementazioni JMS là fuori)

  2. Caratteristiche. HornetQ ha un set di funzioni "aziendali" completo, che ti aspetteresti di vedere. elenco delle caratteristiche è qui http://community.jboss.org/wiki/HornetQFeatures

    Troverete HornetQ ha equivalenti alla maggior parte delle funzioni che si trovano in ActiveMQ, e altri che non troverete in ActiveMQ

  3. Clustering è stato recentemente revisionato, quindi è roccia solida. Se hai qualche lamentela con il clustering, per favore usa i forum. Il team di HornetQ sarà lieto di rispondere a qualsiasi problema percepito.

  4. utilizzati nella produzione con molti nomi di alto profilo tra cui grandi istituzioni finanziarie e altri come last.fm

  5. Trusted abbastanza per essere la tecnologia di messaggistica di base in JBoss AS 7. L'ultima versione dei mondi Java preferito server delle applicazioni.

  6. Architettura agnostica del protocollo. HornetQ, a differenza di ActiveMQ, non è stato creato attorno a JMS. In HornetQ il server principale è agnostico protocollo/API, è un server di messaggistica generico. Diversi protocolli/API come STOMP/JMS/REST/Websockets ecc. Vengono aggiunti come adattatori sottili al core generico. Questo lo rende molto più flessibile.

+9

+1 per divulgare la tua affiliazione. –