发号器的常用解决方案及应用
什么是发号器 发号器,通常被叫做ID生成器,是为业务元素生成唯一标示的一组方法或功能。 常见使用场景 * 新浪微博用户ID:http://weibo.com/1346818450 * QQ号:422525199 * 手机充值卡密码:510 3070 5354 0939 5056 * 淘宝订单号:352614560557223645 * Twitter文章Id:https://twitter.com/ayanamist/status/878805596283084800 * 支付宝交易流水号:2017062121001004940256742896 通过发号器生成的ID特点 * ID位数可定制 * 支持多IDC部署 * 单机或多机粗略有序 * 增长步长不固定 * 可反解 * 可制造 常用发号器的实现方式 实现发号器,有几种思路 * 数据库自增id * UUID * Snowflake服务 * Flicker的发号器方案 前两种比较常见,下边着重梳理后边两种,这两种方案的实现涉及到一些二进制的存储、运算和转换,用习