全局唯一ID——订单ID生成规则

作者: 8e7f75130086 | 来源:发表于2017-12-20 10:53 被阅读272次

一、服务端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

生成规则中的毫秒时间戳由服务器端下发(客户端时间戳不可靠)

相关文章

  • 全局唯一ID——订单ID生成规则

    一、服务端16位订单ID 订单id生成规则 yyMMdd+路由规则(两位)+数据库自增数(八位)如:170621 ...

  • Redis-全局唯一ID

    零、本文纲要 一、全局唯一ID 二、Redis生成全局唯一ID1、snowflake算法全局唯一ID策略2、Red...

  • 设计分布式唯一id生成

    1. 生成全局唯一id 什么时候需要生成全局唯一id db不帮你自动生成的时候。比如: db做了分库分表,没帮你自...

  • 高并发下如何生成唯一ID

    通过本文档你将学习到 为什么需要分布式全局唯一ID以及分布式ID的业务需求 ? ID生成规则部分硬性要求?目标出现...

  • 生成全局唯一id的几种方式

    生成全局唯一id的几种方式: 1、uuid生成全球唯一id,生成方式简单粗暴,本地生成,没有网络开销,效率高;缺点...

  • 全局唯一ID

    生成全局唯一ID 通过MySQL的自增主键,作为唯一id; 通过内存中变量AtomicLong的自增来得到唯一id...

  • 04.分布式系统的id生成方式

    分布式ID需要满足那些条件? 全局唯一:必须保证ID是全局性唯一的,基本要求高性能:高可用低延时,ID生成响应要块...

  • redis+lua 实现分布式ID生成

    一,题记 所有的业务系统,都有生成ID的需求,如订单id,商品id,文章ID等。这个ID会是数据库中的唯一主键,在...

  • 分布式唯一ID极简教程

    一,题记 所有的业务系统,都有生成ID的需求,如订单id,商品id,文章ID等。这个ID会是数据库中的唯一主键,在...

  • 分布式系统中生成全局唯一ID方案

    本文主要介绍在一个分布式系统中, 如何去生成全局唯一的 ID。 前言 单纯的生成全局ID并不是什么难题,生成全局的...

网友评论

  • 追梦1819:什么玩意?看来简书要凉了,什么鬼都有

本文标题:全局唯一ID——订单ID生成规则

本文链接:https://www.haomeiwen.com/subject/gnwwwxtx.html