如何生成短URL

  |   0 评论   |   0 浏览

背景

方法

分布式自增id

通用的ID产生器,互联网俗称统一发号器,它具有全局唯一、粗略有序、可反解和可制造等特性。

Twitter的雪花算法SnowFlake

Twitter的雪花算法SnowFlake, 生成64位的ID,刚好可以用long整型存储。

0 - 41位时间戳 - 5位数据中心标识 - 5位机器标识 - 12位序列号

  • 相同毫秒内,序列号自增。不同毫秒内,序列号置为0。

10进制数转62进制数

自己做一个10进制到62进制的转换。

重定向

  • 301永久重定向:符合语义,但是统计不到点击次数。
  • 302临时重定向:加大服务器压力,但可以分析点击次数。

参考