八股已死、场景当立(分布式ID篇)
废话不多说,书接上文,继续盘点有难度的面试八股文,然后抛砖引玉出场景题,做好了开始发车喽!
一、标准八股-分布式ID篇
1、Q:分布式ID需满足哪些核心要求?
A:分布式ID必须满足:
- 全局唯一:整个系统内ID不重复。
- 趋势递增:利于数据库索引性能(如B+树顺序插入)。
- 高可用:ID生成服务需支持高并发和容灾。
- 低延迟:生成速度需满足业务峰值需求。
- 可扩展:支持水平扩容,避免单点瓶颈。
2、Q:UUID作为分布式ID的优缺点与适用场景是什么?
A:优缺点与适用场景如下:
- 优点:
- 实现简单(
UUID.randomUUID()
),无需中心节点。 - 全球唯一性(基于MAC、时间戳、随机数)。
- 实现简单(
- 缺点:
- 无序存储导致数据库索引性能下降(B+树频繁分裂)。
- 128位过长,占用存储空间。
- 适用场景:日志追踪、临时令牌等非核心业务且对顺序不敏感的业务。
3、Q: 数据库自增ID如何改造为分布式方案?
A:通过分库分表+