Attualmente sto valutando i sistemi di code messaggi e RabbitMq mi sembra un buon candidato, quindi sto scavando un po 'di più in esso.RabbitMq esegue round-robin dallo scambio alle code
Per dare un piccolo contesto sto cercando di avere qualcosa come un carico di scambio che bilancia il messaggio che pubblica su più code. Non voglio replicare i messaggi, quindi uno scambio di fanout non è un'opzione.
Anche il motivo per cui sto pensando di avere più code e una coda che gestiscono il round-robin con i consumatori, è che non voglio che il nostro singolo punto di errore sia a livello di coda.
Sembra che potrei aggiungere un po 'di logica sul lato dell'editore per simulare tale comportamento modificando la chiave di routing e disponendo delle associazioni appropriate. Ma è una specie di approccio passivo che non tiene conto del ritmo del consumo di messaggi su ciascuna coda, portando potenzialmente a riempire una coda se le applicazioni consumer di quella coda sono morte.
Stavo cercando un modo più proattivo dal lato dell'entità dello scambio, che avrebbe deciso dove inviare il messaggio successivo in base a ciascuna dimensione della coda o qualcosa del genere.
Ho letto di Alice e delle API RESTful disponibili, ma sembra una soluzione pesante per implementare decisioni di routing veloce.
Qualcuno sa se il round-robin tra lo scambio le code è fattibile con RabbitMQ allora? Grazie.
Non appena abbiamo testato una singola coda in produzione, ci siamo imbattuti in un problema di scala.Una singola coda è a thread singolo. Non può tenere il passo con il nostro carico. Stiamo cercando le migliori pratiche per lavorare in una distribuzione round robin –