一、服务端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 |
生成规则中的毫秒时间戳由服务器端下发(客户端时间戳不可靠)









网友评论