𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝗶𝗻𝗴 𝗟𝗼𝘄-𝗟𝗮𝘁𝗲𝗻𝗰𝘆 𝗘𝘃𝗲𝗻𝘁 𝗔𝗻𝗮𝗹𝘆𝘁𝗶𝗰𝘀
การสร้าง Data Pipeline สำหรับสถานที่จัดงานขนาดใหญ่เป็นเรื่องที่ยาก
งานที่มีผู้เข้าร่วม 20,000 คน สร้างปัญหาที่แตกต่างจากเว็บแอปพลิเคชันทั่วไป ในเว็บแอปพลิเคชัน ผู้ใช้งานจะกระจายตัวอยู่ตามเขตเวลาต่างๆ แต่ในสถานที่จัดงาน ผู้คนนับพันจะสร้างข้อมูลพุ่งสูงขึ้น (data spikes) ในเวลาเดียวกัน
การประมวลผลแบบ Batch หรือการทำ Long-polling จะทำให้เกิดความล่าช้า (lag) สำหรับการควบคุมฝูงชน ความล่าช้าเพียง 15 นาทีถือเป็นความล้มเหลว เพราะคุณจะลงเอยด้วยการแก้ปัญหาที่เกิดขึ้นไปแล้ว แทนที่จะหยุดยั้งมันได้ทันท่วงที
เพื่อให้ได้ความเร็วในระดับต่ำกว่าวินาที (sub-second) คุณจำเป็นต้องมีกระแสข้อมูล (stream) ที่ต่อเนื่องจากฮาร์ดแวร์ที่ Edge ไปยัง Dashboard ของคุณ
และนี่คือพิมพ์เขียวสำหรับ Telemetry Pipeline ที่มีความยืดหยุ่นและทนทาน (resilient)
Layer 1: Offline-First Edge Compute
คุณต้องการความหน่วง (latency) ต่ำกว่า 5ms และต้องสามารถรับมือกับการหลุดของเครือข่ายได้ด้วย ควรใช้ Edge nodes ที่มี local in-memory cache อย่าง Redis และทำการ Mirror ฐานข้อมูลบน Cloud ไปยังโหนดเหล่านี้ก่อนที่งานจะเริ่มขึ้น
เมื่อผู้เข้าร่วมสแกนแท็ก ระบบจะตรวจสอบจาก local cache ซึ่งช่วยข้ามขั้นตอนการเชื่อมต่ออินเทอร์เน็ตและทำให้การผ่านเข้าออกประตูเป็นไปอย่างต่อเนื่อง
Layer 2: Asynchronous Ingestion via MQTT
เครือข่ายในสถานที่จัดงานมักจะไม่เสถียร ควรใช้ MQTT เพราะมีน้ำหนักเบา (lightweight) โดย Edge nodes จะทำการ Publish ข้อความไปยัง Cloud broker จากนั้น Broker จะทำหน้าที่ส่งต่อข้อมูลไปยัง Ingestion queues ของคุณ
Layer 3: Full-Duplex WebSockets
อย่าให้ Frontend เป็นฝ่ายร้องขอ (request) การอัปเดต แต่ให้ใช้ WebSockets เพื่อรักษาการเชื่อมต่อที่ต่อเนื่อง (persistent connection) กับ API gateway วิธีนี้จะช่วยให้ทีมปฏิบัติการเห็นการเปลี่ยนแปลงในพื้นที่ได้ภายในเวลาไม่ถึงวินาที
การตั้งค่านี้ช่วยให้ทีมสามารถตรวจพบการหนาแน่นของฝูงชนหรือการมีส่วนร่วมที่ต่ำได้ทันที และคุณสามารถสั่งการให้เจ้าหน้าที่เปลี่ยนจุดปฏิบัติงานได้ก่อนที่จะเกิดคอขวด (bottleneck)
คุณมีวิธีเพิ่มประสิทธิภาพฮาร์ดแวร์ IoT สำหรับฝูงชนที่หนาแน่นอย่างไร? ร่วมแบ่งปันความคิดเห็นของคุณได้ที่ด้านล่างนี้