交易场景下的唯一Id生成器
##介绍 可以单机产生分布式全局唯一Id,核心的方法为模仿Twitter snowflake。单机产生id的好处是避免了从数据库中获取序列码产生的传输问题,以及单点问题。 Id的组成如下:
- 1 ms级时间 41bit, 可以支持69年
- 2 服务器标志 8bit, 可以支持255台机器的应用,如果机器数目过多,可以考虑缩短时间占用位置
- 3 流水码 6bit 0-63 仿Twitter snowflake ms内最多产生64的seq
- 4 前三项和加上第一个bit 0 一共56位,转换成long共17位
- 5 用户Id埋点2个字符 (userId: 23423423454) 54 交易场景下根据userId查询较多,方便分表
- 6 前三项已经可以产生全局唯一Id了,但是由于交易场景下按用户Id分库分表较多,所以在最后埋上用户Id信息,一共19位
##性能
- CPU: 2.5 GHz Intel Core i5
- 内存: 8 GB 1600 MHz DDR3
- 单线程:每秒4W-5W