一、服务端16位订单ID
- 订单id生成规则
yyMMdd+路由规则(两位)+数据库自增数(八位)如:170621 06 10000000
数据库从10000000开始递增,以1000作为步长递增。
- 数据库自增表设计
路由ID | 规则标识名称 | 最小值 | 最大值 | 步长 | 标识码 |
---|---|---|---|---|---|
0 | yz_trade_order_id | 10000000 | 99999999 | 1000 | 20170623140637072044475226558553 |
1 | yz_trade_order_id | 10000000 | 99999999 | 1000 | 20170723140637072044475226558553 |
2 | yz_trade_order_id | 10000000 | 99999999 | 1000 | 20170624140637072044475226558553 |
3 | yz_trade_order_id | 10000000 | 99999999 | 1000 | 20170823150637072044475226558553 |
4 | yz_trade_order_id | 10000000 | 99999999 | 1000 | 20170813140637072044475226558553 |
5 | yz_trade_order_id | 10000000 | 99999999 | 1000 | 20170824140637072044475226558553 |
6 | yz_trade_order_id | 10000000 | 99999999 | 1000 | 20170624140637072044475226558553 |
7 | yz_trade_order_id | 10000000 | 99999999 | 1000 | 20170613140637072044475226558553 |
路由ID根据supplierID进行哈希,此时所得的结果与mycat分库路由规则一致
二、pos设备端订单ID(客户端订单ID)
- 生成规则
YYMMDDHHmmsszzzz+7位(设备映射数)+3位随机数。
此规则可实现一个设备毫秒级1000笔订单 数据规模
商户ID | 设备编号(IMEI) | 映射值 |
---|---|---|
1709132910001001 | 19b2411e | 0000001 |
1709132910001001 | 19b24c30 | 0000002 |
生成规则中的毫秒时间戳由服务器端下发(客户端时间戳不可靠)