一、单号需求
- 基本需求:正确性、唯一性、安全性、稳定性。
- 高级需求:检索性能、其他性能方面。
- 定制化需求:语义相关、业务相关。
二、单号生产规则:
- 唯一性(不重复):保证编码id唯一;
- 安全性:在编码中不要加入任何和公司运营的数据;
- 易读性:不使用大规模随机码,造成编码位数过长,不建议有字母编码规则,最好是纯数字编码,小规模的随机码是可以使用的,比如2~3位,这种随机码一般都是和流水号等结合使用,主要作用是为了隐藏流水号的真实数据而进行使用的;
- 防止并发:主要针对编码中有时间的设定,分布式机器的时间不统一;
- 可扩展性:便于查询,业务升级等;
- 控制好位数:一般在10~15位最好,作用也是为了便于查询。
三、大厂的生成策略
序号 平台 rule
1 大众点评 时间戳+用户标识码+随机数
2 美团团购 单表自增Id * 100 + 买家Id后2位
3 淘宝 发号器Id + 买家Id后4位
四、常见单号编码规则
常见的编码规则: