Pola berbasis event dengan EventBridge

Mendeploy Aplikasi di AWS

Dunieski Otano

Amazon Web Services Solutions Architect

Satu pesanan, empat reaksi

  • Satu pesanan harus mencapai penagihan, pemenuhan, analitik, email
  • Panggilan langsung ke keempatnya rapuh dan lambat
  • Satu event menyebar ke setiap konsumen

Satu event menyebar dari topik pusat ke banyak layanan hilir secara paralel

Mendeploy Aplikasi di AWS

Memilih layanan perpesanan yang tepat

Kisi 2x2 layanan perpesanan AWS: antrean SQS dengan alur produsen-konsumen, SNS pub/sub fanout ke banyak pelanggan, EventBridge event bus dengan perutean berbasis aturan, dan Kinesis shard berurutan dengan pemutaran ulang

  • SQS: satu antrean, satu grup konsumen, at-least-once
  • SNS: pub/sub, dorong satu pesan ke banyak pelanggan
  • EventBridge: rute event berdasarkan konten ke banyak target
  • Kinesis Data Streams: berurutan, dapat diputar ulang
Mendeploy Aplikasi di AWS

Pola fanout

  • Satu event harus menjangkau beberapa konsumen sekaligus
  • Publikasikan ke topik SNS
  • Setiap antrean SQS berlangganan topik
  • Tiap konsumen mendapat salinan sendiri, terlepas

Pola fanout SNS-ke-SQS: satu topik SNS memublikasikan ke banyak antrean SQS, tiap antrean melayani konsumennya sendiri dengan kecepatannya sendiri

Mendeploy Aplikasi di AWS

Memfilter agar konsumen hanya mendapat yang dibutuhkan

  • Tanpa filter, setiap pelanggan mendapat setiap event
  • Kebijakan filter langganan SNS: saring menurut atribut pesan
  • Filter konten EventBridge: cocokkan pada field event
  • Tiap konsumen hanya menerima event yang relevan

Kebijakan filter langganan SNS dan filter konten EventBridge: tiap konsumen hanya menerima event yang cocok dengan aturan filternya, mengurangi pemrosesan dan biaya yang tidak perlu

Mendeploy Aplikasi di AWS

Perutean dengan EventBridge

Diagram perutean EventBridge: event bus menerima event dari banyak sumber, aturan mencocokkan pola event, dan event yang cocok dirutekan ke Lambda, SQS, dan layanan target lainnya

  • Event bus: menerima event dari banyak sumber
  • Rule: pola event yang mencocokkan event tertentu
  • Target: tujuan kirim event yang cocok
  • Satu event dapat dirutekan ke banyak target
Mendeploy Aplikasi di AWS

Streaming dengan Kinesis Data Streams

  • Aliran rekaman berkelanjutan, real-time
    • Rekaman berurutan dalam satu shard
    • Dapat diputar ulang: konsumen baca ulang dari titik mana pun
    • Banyak konsumen membaca aliran yang sama secara mandiri
    • Gunakan untuk clickstream, telemetri, data ber-throughput tinggi

Arsitektur Kinesis Data Streams: produsen menulis rekaman berurutan ke shard bernomor, tiga konsumen membaca mandiri di posisi berbeda, dengan panah mundur menunjukkan kemampuan pemutaran ulang

Mendeploy Aplikasi di AWS

Lambda sebagai konsumen event

  • Lambda dapat dipicu oleh SQS, SNS, EventBridge, Kinesis
  • Event source mapping melakukan polling SQS dan Kinesis untuk Anda
  • SNS dan EventBridge mendorong event ke Lambda
  • Pemrosesan nyaris real-time tanpa kelola server

Lambda dipicu oleh empat sumber event: event source mapping mem-polling SQS dan Kinesis secara batch, sedangkan SNS dan EventBridge mendorong event langsung ke Lambda

Mendeploy Aplikasi di AWS

Ayo berlatih!

Mendeploy Aplikasi di AWS

Preparing Video For Download...