如何生成短URL
背景
方法
分布式自增id
通用的ID产生器,互联网俗称统一发号器,它具有全局唯一、粗略有序、可反解和可制造等特性。
Twitter的雪花算法SnowFlake
Twitter的雪花算法SnowFlake, 生成64位的ID,刚好可以用long整型存储。
0 - 41位时间戳 - 5位数据中心标识 - 5位机器标识 - 12位序列号
- 相同毫秒内,序列号自增。不同毫秒内,序列号置为0。
10进制数转62进制数
自己做一个10进制到62进制的转换。
重定向
- 301永久重定向:符合语义,但是统计不到点击次数。
- 302临时重定向:加大服务器压力,但可以分析点击次数。