System Design Interview - Chapter 7 - Design a Unique ID Generator in Distributed Systems
Generating unique ID seems to be a simple task, but it is not in a high-load distributed systems!
This topic consists of:
- Understanding the requirements and why it is a complicated task
- Possible solutions:
- Multi-master replication
- Universally unique identifier (UUID)
- Ticket server
- Twitter SNOWFLAKE approach (seems to be the best one!)
- Details:
- Timestamp
- Sequence number
- Other issues
- Clock synchronization
- Section length tuning
- High availability
These items are disclosed in a very interesting Chapter 7 of the book:
HIGHLY RECOMMEND!
Sharing my mind map with all the details as usual:
See also:
- System Design Interview - Chapter 6 - Design a Key-Value store
- System Design Interview - Chapter 8 - Design a URL Shortener
- System Design Interview - Chapter 5 - Design Consistent Hashing
- System Design Interview - Chapter 4 - Design a Rate Limiter
- System Design Interview - Chapter 3 - A Framework for System Design Interviews