Monday, April 15, 2024
Technology

เป็นล้านคะแนนนับวิเดียวเสร็จ Cloudflare โอเพนซอร์ส pingora-limits ไลบรารีนับคะแนนประสิทธิภาพสูง – SMS Marketing ราคาถูกที่สุด

216views

Cloudflare ปล่อยโค้ด pingora-limits ตัวนับอีเวนต์ (event) ในพรอกซี่ Pingora ที่ Cloudflare พัฒนาชึ้นมาใช้งานแทน NGINX โดยตัวเซิร์ฟเวอร์ต้องนับสถิติต่างๆ โดยยังต้องมีประสิทธิภาพสูง ไม่ทำให้บริการโดยรวมช้าลง

Pingora ต้องนับสถิติจากอีเวนต์ต่างๆ ถึง 20 ล้านครั้งต่อวินาที เช่น มีเหตุเซิร์ฟเวอร์ไม่ตอบสนอง เกินจำนวนครั้งที่กำหนดก็ต้องตัดเซิร์ฟเวอร์ตัวนั้นออก โดยตัวนับนี้มีเงื่อนไขว่าต้องรองรับการทำงานแบบขนานอย่างหนัก และขณะที่กำลังเพิ่มค่าที่นับไม่ต้องล็อกหน่วยความจำ ไม่เช่นนั้นจะกลายเป็นคอขวดของระบบ

ทาง Cloudflare ใช้โครงสร้างข้อมูล count–min sketch ที่ประสิทธิภาพการนับเป็น O(1) ขณะที่ประสิทธิภาพในแง่ขนาดหน่วยความจำเป็น O(log(n)) โดยกระบวนการนับคะแนนไม่ล็อกหน่วยความจำและแฮชค่ากุญแจของอีเวนต์ทีละหลายๆ รูปแบบ แม้จะมีบางรูปแบบที่แฮชชนกับอีเวนต์อื่นๆ บ้างก็ไม่ต้องสนใจ และเมื่อต้องการดูคะแนนสุดท้ายก็จะดูค่าที่น้อยที่สุดของกุญแจอีเวนต์นั้น

ผลการใช้งานจริงพบว่า pingora-limits ใช้หน่อยความจำน้อยมาก แต่ได้ประสิทธิภาพสูง ตัวโค้ดส่วนนี้เปิดอยู่ใน GitHub

ที่มา – Cloudflare

Topics: 

Bulk SMS และ SMS OTP

ราคาถูกพิเศษ สำหรับปริมาณมาก ติดต่อ LINE @deecom

Generated by Feedzy