订单的生成需要
1.全局的唯一性
2.自增长
3.长度的要求
4.具有一定的可读性
5.保密性
订单号的生成方案
1.UUID 2.数据库自增 3.snowflake 4.redis
还有分布式上面应用的方案
1. moogdb objectid
2. zookeeper znode
第一种方案
UUID(通用唯一识别码)
这个类在javaapi中表示
-
一个表示不可变的通用唯一标识符( UUID)的类。 UUID表示128位值。
这些全局标识符存在不同的变体。 该类的方法是用于操纵Leach-Salz变体,尽管构造函数允许创建UUID的任何变体(如下所述)。
变体2(Leach-Salz)UUID的布局如下:最重要的长度包括以下无符号字段:
0xFFFFFFFF00000000 time_low 0x00000000FFFF0000 time_mid 0x0