Logo de Dallonses

Message queue

Què és una message queue?

Una message queue és un buffer que se situa entre dues parts d'un sistema perquè no s'hagin de parlar en el mateix moment. Un servei posa un missatge a la cua, un altre servei el treu i el processa quan està a punt. L'emissor no espera que la feina acabi. Lliura el missatge i continua amb el que feia.

Això desacobla temps i càrrega. Si una ràfega de trànsit produeix més feina de la que els consumidors poden gestionar, la cua absorbeix l'embús en lloc de tombar el sistema. Els missatges esperen en fila i es processen a un ritme constant. Una plataforma de vídeo que necessita transcodificar cada pujada pot deixar cada arxiu en una cua, retornar el control a l'usuari immediatament i deixar que un grup de workers digereixi la codificació en segon pla. Eines com RabbitMQ, Amazon SQS i les cues sobre Redis són opcions habituals.

Les cues també afegeixen fiabilitat. Un missatge roman a la cua fins que un consumidor confirma que l'ha gestionat, així que un worker que cau a mitja tasca no perd la feina. Convé distingir una cua d'un sistema basat en logs com Kafka. Una cua clàssica lliura cada missatge a un consumidor i l'elimina un cop processat, mentre que un log manté un registre ordenat que molts consumidors poden reproduir. Eines diferents per a formes diferents de problema.

Les message queues a Dallonses

Afegim una message queue quan un sistema té feina que no hauria de bloquejar l'usuari. Un client amb una plataforma d'alt trànsit tenia el processament d'imatges, les notificacions i la generació d'informes passant en línia, i en pic la càrrega esgotava el temps de les peticions. Vam treure aquesta feina darrere d'una cua. La resposta de cara a l'usuari va caure a mil·lisegons, i un conjunt de workers va assumir la part pesada a un ritme que la infraestructura podia sostenir.

Les cues són una peça central de com abordem la integració de plataformes i la integració API, perquè els sistemes que connectem poques vegades van a la mateixa velocitat. Dissenyem els contractes dels missatges, el comportament de reintent i la gestió de la dead-letter perquè una feina fallida es capturi i es reprodueixi, no es perdi en silenci. El resultat són sistemes que es mantenen receptius sota càrrega i continuen funcionant quan una peça té un mal dia.

La feina s'acumula i esgota els temps sota càrrega? Traguem-la del camí crític.

Parlem de cues

Serveis relacionats


Preparat per a traballar junts?

Reserva una reunió
Aymón sostenint una revista Tools davant de la seva cara
Ari treballant en un portàtil a l'aire lliure envoltada de plantes
Vista superior d'un escriptori de fusta amb teclat, ratolí i auriculars
Il·lustració dibuixada a mà d'una mà chasquejant els dits
Nico recolzat contra un dispensador d'aigua al costat d'un extintor
Primer pla d'un ordinador obert amb placa de circuit i components sobre un escriptori de fusta
Bernat i Andreu col·laborant en un escriptori amb monitors i un portàtil
Il·lustració dibuixada a mà d'una mà oberta saludant
Aymón sostenint una revista Tools davant de la seva cara
Ari treballant en un portàtil a l'aire lliure envoltada de plantes
Vista superior d'un escriptori de fusta amb teclat, ratolí i auriculars
Il·lustració dibuixada a mà d'una mà chasquejant els dits
Nico recolzat contra un dispensador d'aigua al costat d'un extintor
Primer pla d'un ordinador obert amb placa de circuit i components sobre un escriptori de fusta
Bernat i Andreu col·laborant en un escriptori amb monitors i un portàtil
Il·lustració dibuixada a mà d'una mà oberta saludant