Een message broker is software die middenin je systemen zit en berichten betrouwbaar van de verzenders naar de ontvangers verplaatst, zodat die systemen nooit rechtstreeks met elkaar hoeven te verbinden. De ene service levert een bericht af, de broker bewaart het en levert het aan wie het moet ontvangen.
Denk aan een drukke postkamer in een groot kantoor. Niemand loopt een brief dwars door het pand naar het bureau van een collega; je geeft hem af bij de postkamer, die hem sorteert en bezorgt, ook al zit die collega net in een vergadering. Een message broker is die postkamer voor software. Hij beheert de onderliggende message queues en ondersteunt patronen als pub/sub, waarbij één bericht tegelijk bij meerdere geïnteresseerde ontvangers terechtkomt.
De echte waarde blijkt onder belasting en bij storingen. Omdat de broker berichten bewaart tot ze worden opgepakt, geeft een traag of tijdelijk offline systeem een wachtrij, geen crash. Verzenders werken door en ontvangers lopen bij zodra ze kunnen. Een broker laat één gebeurtenis ook meerdere plekken voeden zonder dat de verzender dat hoeft te weten. Neem één online bestelling. Zodra die is geplaatst, moet het magazijn hem inpakken, de boekhouding hem factureren en de klant een bevestigingsmail krijgen. Zonder broker moet de bestelservice alle drie aanroepen, en ligt de mailservice plat, dan kan de hele bestelling vastlopen. Zet je de gebeurtenis in plaats daarvan op een broker, dan leest elk van de drie hem op zijn eigen tempo. Een vierde luisteraar later toevoegen, zeg een loyaliteitspunten-service, betekent dus aansluiten, niet de bestelcode herschrijven. Die ontkoppeling is de stille reden waarom grote systemen zo leunen op brokers.
Bij TopDevs zetten we een message broker neer als de systemen van een klant een gestage stroom events betrouwbaar moeten uitwisselen, zodat een hapering in één service de andere nooit meesleurt.