Overview
Design a distributed unique identifier generation service that produces 64-bit integer IDs that are roughly sorted by creation time across hundreds of server instances.
Requirements
- 1Generated IDs must be globally unique across all nodes and data centers
- 2IDs must fit into a 64-bit integer format (compact for database primary keys and indexing)
- 3IDs must be roughly chronological / time-sortable
- 4High throughput: capable of generating 100,000+ IDs per second per generator node
- 5Zero central point of failure with high availability (99.999%)
Architecture Hints (4)
Target Concepts
#Snowflake#Bit Manipulation#High Availability#Time Sortable