Randflake ID คือระบบสร้างตัวระบุที่ไม่ซ้ำกันขนาด 64 บิตสำหรับใช้งานในสภาพแวดล้อมแบบกระจาย
คุณสมบัติหลัก
- คาดเดาไม่ได้: ใช้บล็อกไซเฟอร์ ทำให้ไม่สามารถคาดเดา ID ถัดไป/ก่อนหน้าได้
- รับประกันความไม่ซ้ำ: ผสาน timestamp, node ID และหมายเลขลำดับเข้าด้วยกัน
- รองรับสภาพแวดล้อมแบบกระจาย: รองรับได้สูงสุด 131,072 โหนด
- ปริมาณงานสูง: สร้าง ID ได้สูงสุด 17,179,869,184 รายการต่อวินาที
โครงสร้าง
- timestamp: 30 บิต
- node ID: 17 บิต
- sequence: 17 บิต
ข้อดี
- สร้าง ID ที่ไม่ซ้ำได้โดยไม่ต้องค้นหาจากฐานข้อมูล
- มีการกระจายตัวสม่ำเสมอ จึงนำไปใช้เป็น sharding key ได้
- มีความสามารถในการติดตามภายในให้ใช้งาน (จำกัดเฉพาะผู้ถือครองคีย์ลับ)
การใช้งาน
สามารถดำเนินงานได้อย่างมีประสิทธิภาพในระบบกระจายผ่านกลไกปรับ node ID แบบอิงการเช่า และเหมาะสำหรับการใช้งานในแอปพลิเคชันระดับโลก
ยังไม่มีความคิดเห็น