การสตรีมข้อมูลด้วย Azure Event Hubs

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

Fiodar Sazanavets

Senior Software Engineer and Microsoft MVP

แนะนำ Event Hubs

ทางด่วน Event Hub

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

ภาพรวมของ Event Hubs

  • บริการรวมข้อมูลแบบเรียลไทม์ที่จัดการครบวงจร
  • ออกแบบสำหรับการสตรีมข้อมูลปริมาณมาก
  • ใช้กับ telemetry, log, และ event ของแอปพลิเคชัน
  • เหมาะสำหรับ big data และ analytics pipeline

โลโก้ Event Hubs

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

เปรียบเทียบ Event Hubs กับ Event Grid

  • มีจุดประสงค์ต่างจาก Event Grid
  • Event Grid ออกแบบสำหรับสถาปัตยกรรมที่ขับเคลื่อนด้วย event
  • Event Hubs เน้นการรวบรวมและสตรีม event data ปริมาณสูงเพื่อประมวลผลและวิเคราะห์

Event Grid เทียบกับ Event Hubs

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

การทำงานของ Event Hubs ในระดับขนาดใหญ่

Event Hubs ในระดับขนาดใหญ่

  • รับ event ได้หลายล้านรายการต่อวินาที
  • Event จะถูกเก็บในพาร์ติชันชั่วคราว
  • นำ event ไปใช้วิเคราะห์ แสดงผล หรือจัดเก็บ
พัฒนา Solution แบบ Event-based และ Message-based บน Azure

Event Hubs ทำงานในระดับขนาดใหญ่

  • รับข้อมูลปริมาณสูงด้วยพาร์ติชัน
  • พาร์ติชันรองรับการประมวลผลแบบขนาน
  • รองรับการเล่น event ซ้ำจาก offset หรือเวลาที่กำหนด
  • Event ยังคงส่งถึงแม้จะเกิดข้อผิดพลาดชั่วคราว

พาร์ติชันของ Event Hubs

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

การผสาน Event Hubs กับ Event Grid

Event Grid ร่วมกับ Event Hubs

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

การผสาน Event Hubs กับ Event Grid

  • Event Grid ออกแบบสำหรับสถาปัตยกรรมที่ขับเคลื่อนด้วย event
  • Event Hubs:
    • ใช้สำหรับวิเคราะห์ จัดเก็บ และแสดงผล event data
    • ผสานได้อย่างราบรื่นกับ Azure Stream Analytics, Databricks หรือ Kafka
    • รองรับการบัฟเฟอร์ event

Event Grid ร่วมกับ Event Hubs

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

การเชื่อมต่อ consumer กับ Event Hubs

  • บริการปลายทางทำหน้าที่เป็น consumer ของ Event Hub

  • Consumer อ่าน event จาก พาร์ติชัน

  • ไคลเอนต์เชื่อมต่อโดยใช้:

    • Event Hubs namespace
    • ชื่อ Event Hub
    • access key สำหรับยืนยันตัวตน

Consumer ของ Event Hubs

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

ฟีเจอร์ขั้นสูงของ Event Hubs

  • Checkpointing ช่วยให้ consumer กลับมาประมวลผลต่อจากจุดที่หยุดไว้

  • ประมวลผล event เป็น batch เพื่อเพิ่ม throughput

  • ประมวลผล event ทีละรายการ สำหรับสถานการณ์ที่ต้องการ latency ต่ำ

ฟีเจอร์ขั้นสูงของ Event Hubs

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

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

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

Preparing Video For Download...