数据库在生产环境中要分片部署(MyCat),所以我们不能使用数据库本
身的自增功能来产生主键值,只能由程序来生成唯一的主键值。我们采用的是开源的
twitter( 非官方中文惯称:推特.是国外的一个网站,是一个社交网络及微博客服务) 的
snowflake (雪花)算法。

      默认情况下41bit的时间戳可以支持该算法使用到2082年,10bit的工作机器id可以
支持1024台机器,序列号支持1毫秒产生4096个自增序列id . SnowFlake的优点是,整
体上按照时间自增排序,并且整个分布式系统内不会产生ID碰撞(由数据中心ID和机器ID
作区分),并且效率较高,经测试,SnowFlake每秒能够产生26万ID左右