Tipare event-driven cu EventBridge

Implementarea aplicațiilor pe AWS

Dunieski Otano

Amazon Web Services Solutions Architect

O comandă, patru reacții

  • O comandă trebuie să ajungă la facturare, fulfillment, analiză, e-mail
  • Apelurile directe către toate patru sunt fragile și lente
  • Un singur eveniment ajunge la toți consumatorii

Un eveniment distribuit dintr-un topic central către mai multe servicii downstream în paralel

Implementarea aplicațiilor pe AWS

Alegerea serviciilor de mesagerie potrivite

Grilă 2x2 cu servicii AWS de mesagerie: coadă SQS cu flux producător-consumator, pub-sub SNS cu fanout către mai mulți abonați, bus de evenimente EventBridge cu rutare bazată pe reguli și șarduri ordonate Kinesis cu reluare

  • SQS: o coadă, un grup de consumatori, cel puțin o dată
  • SNS: pub/sub, trimite un mesaj către mai mulți abonați
  • EventBridge: rutează evenimente după conținut către mai multe ținte
  • Kinesis Data Streams: streaming ordonat, cu reluare
Implementarea aplicațiilor pe AWS

Tiparul fanout

  • Un eveniment trebuie să ajungă la mai mulți consumatori simultan
  • Publici într-un topic SNS
  • Fiecare coadă SQS se abonează la topic
  • Fiecare consumator primește propria copie, decuplat

Tiparul fanout SNS-SQS: un topic SNS publică către mai multe cozi SQS, fiecare coadă deservind independent propriul consumator în ritmul său

Implementarea aplicațiilor pe AWS

Filtrare pentru ca fiecare consumator să primească doar ce îi trebuie

  • Fără filtre, fiecare abonat primește fiecare eveniment
  • Politici de filtrare SNS: filtrare după atributele mesajului
  • Filtre de conținut EventBridge: potrivire după câmpurile evenimentului
  • Fiecare consumator primește doar evenimentele relevante

Politică de filtrare SNS și filtru de conținut EventBridge: fiecare consumator primește doar evenimentele care corespund regulii sale, reducând procesarea și costurile inutile

Implementarea aplicațiilor pe AWS

Rutare cu EventBridge

Diagramă de rutare EventBridge: bus de evenimente primind evenimente din surse multiple, reguli care potrivesc tipare de evenimente și evenimente potrivite rutate către Lambda, SQS și alte servicii țintă

  • Event bus: primește evenimente din surse multiple
  • Regulă: un tipar de eveniment care potrivește anumite evenimente
  • Țintă: destinația evenimentelor potrivite
  • Un eveniment poate fi rutat către mai multe ținte
Implementarea aplicațiilor pe AWS

Streaming cu Kinesis Data Streams

  • Un flux continuu, în timp real de înregistrări
    • Înregistrări ordonate în cadrul unui șard
    • Reluabile: consumatorii pot reciti din orice punct
    • Mai mulți consumatori citesc același flux independent
    • Util pentru clickstream, telemetrie, date cu volum mare

Arhitectura Kinesis Data Streams: producătorii scriu înregistrări ordonate în șarduri numerotate, trei consumatori citesc independent din poziții diferite, cu o săgeată de reluare care arată capacitatea de replay

Implementarea aplicațiilor pe AWS

Lambda ca și consumator de evenimente

  • Lambda poate fi declanșat de SQS, SNS, EventBridge, Kinesis
  • Event source mapping interogează SQS și Kinesis în locul tău
  • SNS și EventBridge trimit evenimentele direct către Lambda
  • Procesare aproape în timp real, fără servere de gestionat

Lambda declanșat de patru surse de evenimente: event source mapping interogând SQS și Kinesis în loturi, în timp ce SNS și EventBridge trimit evenimentele direct către Lambda

Implementarea aplicațiilor pe AWS

Hai să exersăm!

Implementarea aplicațiilor pe AWS

Preparing Video For Download...