算法设计---ID生成系统

设计一个针对全球的、访问量极大的id生成系统。必须保证用户每次从该系统得到的id是唯一的,而且在概率上毫无碰撞可能。

算法设计---ID生成系统

设计思路:

  1. 系统存在一个全局的ID管理器,为了防止宕机做成主从备份。
  2. 为了抗住访问压力,设置多级ID生成器
  3. 每个ID生成器向上级发送请求,获取start开始ranger范围的ID,父节点记录好每个ID范围对应的机器
  4. 当访问量过大时父节点加大ranger范围,化解访问压力
  5. 如果有节点挂了,在重新启动时可以向父节点重新申请ID范围,不影响全局ID变化
  6. 查找方便,不用遍历所有的ID,从全局的ID管理器查找ID在那个范围、那个机器上。一直向下搜索