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 แบบอิงการเช่า และเหมาะสำหรับการใช้งานในแอปพลิเคชันระดับโลก

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น