Home

hendelsesbuss

Hendelsesbuss er en programvarekomponent som muliggjør kommunikasjon mellom ulike deler av et system ved at hendelser publiseres av én komponent og andre kan abonnere på og motta dem. Målet er å oppnå løs kobling mellom avsender og mottaker og å støtte asynkron meldingsutveksling i en hendelsesdrevet arkitektur. En hendelsesbuss kan kjøre innafor en enkelt applikasjon (in-prosess) eller være distribuert over flere tjenester i et system.

Slik fungerer den: En komponent publiserer en hendelse til bussen, vanligvis med en hendelsestype og en payload

Implementasjoner og relaterte mønstre: I praksis finnes det ulike tilnærminger. Noen hendelsesbusser kjører internt i applikasjonen,

Fordeler og utfordringer: Fordelene inkluderer lavere kobling mellom komponenter, enklere skalering og bedre mulighet for utvidelse

som
beskriver
hendelsen.
Abonnenter
registrerer
seg
for
relevante
hendelser
og
mottar
dem
når
de
publiseres.
De
fleste
løsninger
bruker
publish–subscribe-mønsteret,
men
noen
støtter
direkte
levering
til
utpekte
mottakere.
Bussen
kan
også
tilby
filtrering,
ruting
og
leveringssikkerhet,
og
kan
gi
garantier
om
levering
og
rekkefølge
av
hendelser
avhengig
av
implementasjonen.
mens
distribuert
infrastruktur
bruker
meldingsplattformer
som
RabbitMQ,
Apache
Kafka
eller
NATS
for
å
publisere
og
motta
hendelser
på
tvers
av
tjenester.
Forskjellen
mellom
en
hendelsesbuss
og
en
meldingskø
eller
en
event-stream-plattform
er
ofte
nyansert
og
avhenger
av
kontekst
og
verktøy,
men
begge
legger
til
rette
for
asynkron
kommunikasjon
og
løst
koblede
komponenter.
og
observasjon.
Utfordringer
inkluderer
kompleksitet
i
feilhåndtering,
eventual
konsistens
og
mulig
uforutsigbar
hendelsesflyt.
For
pålitelig
leveranse
og
ordrefølge
kan
det
være
nødvendig
med
idempotente
forbrukere,
dødebrev-køer
og
robuste
retry-mekanismer
samt
overvåkning.