ภาพรวมของ Queue Storage

พัฒนา Solution แบบ Event-based และ Message-based บน Azure

Fiodar Sazanavets

Senior Software Engineer and Microsoft MVP

แนะนำ message queues

Background workers และ message queues

พัฒนา Solution แบบ Event-based และ Message-based บน Azure

ภาพรวมของ message queues

  • รายการงานสำหรับคลาวด์
  • ทำงานแบบอะซิงโครนัส ไม่บล็อกผู้ใช้
  • รองรับข้อความขนาดเล็ก
  • Background workers ประมวลผลข้อความ

Message queue

พัฒนา Solution แบบ Event-based และ Message-based บน Azure

ภาพรวมของ Queue Storage

  • Azure Queue Storage คือวิธีที่ง่ายที่สุดในการตั้งค่า message queues บน Azure

  • แอปพลิเคชันเชื่อมต่อกับ queue ผ่าน connection string

  • ข้อความจะถูกประมวลผลตามลำดับที่เพิ่มเข้ามา

Azure Queue Storage

พัฒนา Solution แบบ Event-based และ Message-based บน Azure

Queue triggers

  • ข้อความแต่ละข้อความจะถูกดึงโดย queue trigger

  • เมื่อประมวลผลสำเร็จ ข้อความจะหายไปจาก queue

  • trigger เชื่อมต่อกับ queue ผ่าน connection string

  • ฟังก์ชันทำงานอัตโนมัติตราบที่ยังมีข้อความอยู่ใน queue

Queue trigger

พัฒนา Solution แบบ Event-based และ Message-based บน Azure

การจัดการข้อผิดพลาด

Poison queue

  • หาก queue trigger ล้มเหลว ขณะประมวลผลข้อความ จะมีการส่งคืนข้อผิดพลาด

  • ข้อความนั้นจะถูกนำออกจาก queue หลัก และย้ายไปยัง poison queue

  • วิธีนี้ป้องกันไม่ให้ข้อความที่ล้มเหลวบล็อก queue หลัก

  • ข้อความที่ล้มเหลวสามารถจัดการหรือตรวจสอบในภายหลังได้

พัฒนา Solution แบบ Event-based และ Message-based บน Azure

การหน่วงเวลาและ batching

การหน่วงเวลาข้อความ

  • กำหนดเวลาส่งในภายหลัง
  • ทำได้ผ่านการตั้ง invisibility delay เริ่มต้น

Batching

  • ประมวลผลข้อความหลายรายการพร้อมกัน
  • เพิ่ม throughput
  • ทำให้ระบบเร็วขึ้น

การหน่วงเวลาข้อความ

Message batching

พัฒนา Solution แบบ Event-based และ Message-based บน Azure

Messages vs events

  • แบบ message:
    • มุ่งไปยัง consumer ที่กำหนด
    • ใช้การดึงข้อมูล (pull)
  • แบบ event:
    • บ่งบอกว่ามีเหตุการณ์เกิดขึ้น
    • ใช้การผลักข้อมูล (push)
  • เลือกใช้เมื่อไร:
    • Queue สำหรับงาน background ที่ต้องการความน่าเชื่อถือ
    • Event สำหรับแจ้งเตือนบริการอิสระว่ามีเหตุการณ์เกิดขึ้น

Event-based vs message-based

พัฒนา Solution แบบ Event-based และ Message-based บน Azure

มาฝึกกันเถอะ!

พัฒนา Solution แบบ Event-based และ Message-based บน Azure

Preparing Video For Download...