พัฒนา Solution แบบ Event-based และ Message-based บน Azure
Fiodar Sazanavets
Senior Software Engineer and Microsoft MVP


Domain
Custom Topic


Filter ส่งเฉพาะ event ที่ subscriber ต้องการ
Subject prefix และ suffix filter เหมาะกับ subject ที่มีโครงสร้างคล้าย path
/sales/ หรือ .jpg กรอง event ตาม ประเภท event ได้เช่นกัน
Advanced filter รองรับการเปรียบเทียบ เช่น มากกว่า น้อยกว่า และ contains
Filter หลายตัวรวมกันด้วย logical AND เพื่อควบคุมอย่างแม่นยำ

Event Grid รองรับ dead-lettering เป็นกลไกป้องกันการสูญหาย
หากส่งไม่สำเร็จหลัง retry ครบทุกรอบ event จะไม่หายไป
Event ที่ส่งไม่ได้จะถูกเขียนไปยัง dead-letter storage container
บริบทของความล้มเหลวถูกบันทึกไว้เพื่อ ตรวจสอบและ audit
สามารถ replay event ในภายหลัง ผ่าน recovery workflow

Event Grid ใช้ exponential back-off ในการ retry การส่ง
ช่วงเวลาระหว่างการ retry จะเพิ่มขึ้น หลังแต่ละครั้งที่ล้มเหลว
แต่ละ event subscription มี retry policy ที่ปรับแต่งได้
กำหนด จำนวนครั้งสูงสุดในการส่ง และ time to live (TTL) ได้
เลือกการตั้งค่า retry ตาม ผลกระทบของ event ที่ล่าช้าหรือสูญหาย


Event Grid รับประกัน at-least-once delivery
อาจเกิด duplicate และ ไม่รับประกันลำดับแบบ global
การรับประกันนี้ใช้กับ ทั้ง system event และ custom event
ความแตกต่างอยู่ที่ ผู้ที่เป็นเจ้าของ publisher
System event — Azure เป็นผู้เผยแพร่ข้อมูล
Custom event — คุณเป็นผู้เผยแพร่และต้องจัดการ deduplication เอง
พัฒนา Solution แบบ Event-based และ Message-based บน Azure