Spring GDS 25è Aniversari
Una empresa de logística que envia a 190 països va construir alguna cosa per enviar-se a si mateixa.
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.
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.
Una empresa de logística que envia a 190 països va construir alguna cosa per enviar-se a si mateixa.
Convertir una marca en un negoci que funciona.
Mig milió de persones. Una app. Zero caos.















