Event-driven patronen met EventBridge
Applicaties implementeren op AWS
Dunieski Otano
Amazon Web Services Solutions Architect
Eén order, vier reacties
Eén order moet naar billing, fulfillment, analytics, e-mail
Rechtstreeks aanroepen van alle vier is kwetsbaar en traag
Eén event wordt gefan-out naar elke consumer
De juiste messagingservices kiezen
SQS
: één queue, één consumergroep, at-least-once
SNS
: pub/sub, push één bericht naar veel abonnees
EventBridge
: routeer events op inhoud naar veel targets
Kinesis Data Streams
: geordende, opnieuw afspeelbare streaming
Het fanoutpatroon
Eén event moet
meerdere consumers
tegelijk bereiken
Publiceer naar een
SNS-topic
Elke
SQS-queue
abonneert op het topic
Elke consumer krijgt zijn eigen kopie, losgekoppeld
Filteren zodat consumers alleen krijgen wat ze nodig hebben
Zonder filters krijgt elke abonnee
elk event
SNS-abonnementfilterbeleid
: filter op berichtattributen
EventBridge-inhoudsfilters
: match op eventvelden
Elke consumer ontvangt alleen relevante events
Routeren met EventBridge
Event bus
: ontvangt events van veel bronnen
Rule
: een eventpatroon dat bepaalde events matcht
Target
: waar gematchte events heen gaan
Eén event kan naar meerdere targets routeren
Streamen met Kinesis Data Streams
Een
continue, realtime
stroom records
Geordende
records binnen een shard
Opnieuw afspeelbaar
: consumers herlezen vanaf elk punt
Meerdere consumers lezen
dezelfde
stream onafhankelijk
Gebruik voor clickstream, telemetry, hoge doorvoer
Lambda als eventconsumer
Lambda kan worden getriggerd door
SQS, SNS, EventBridge, Kinesis
Event source mapping
pollt SQS en Kinesis voor je
SNS en EventBridge
pushen
events naar Lambda
Bijna-realtime verwerking zonder servers te beheren
Laten we oefenen!
Applicaties implementeren op AWS
Preparing Video For Download...