如何构建一个分布式系统中的流水ID生成器?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2376个文字,预计阅读时间需要10分钟。
流水编号在开发过程中可能用到的功能包括:销售订单号、采购订单号、日志编号、凭证号等,为确保唯一性,建议使用自增长或GUID值,或通过雪花算法计算。
流水编号日常在我们开发的过程中可能会用到编号的功能,如销售订单号,采购订单号,日志编号,凭证号...等等,为了保证唯一有些表的主键要么用自增长,要么用GUID值,或通过雪花ID算法生成。这此方式基本都能产生唯一的ID,但如果在分布式环境下产生流水ID,以上这几种方式可能就不太好用,如有以下场景
- 工作流的流水编号
工作流的编号通常会是以下格式 如2022060200001-2022060299999 到了第二天时尾数又要生00001开始编,这种编号规则有一个好处就是非常直观的通过工作流编号就可以看出来这是哪一天申请的流程,一天大概有多少流水码。那么如果我们用常规编号规则其实是比较难完成此需求的。
本文共计2376个文字,预计阅读时间需要10分钟。
流水编号在开发过程中可能用到的功能包括:销售订单号、采购订单号、日志编号、凭证号等,为确保唯一性,建议使用自增长或GUID值,或通过雪花算法计算。
流水编号日常在我们开发的过程中可能会用到编号的功能,如销售订单号,采购订单号,日志编号,凭证号...等等,为了保证唯一有些表的主键要么用自增长,要么用GUID值,或通过雪花ID算法生成。这此方式基本都能产生唯一的ID,但如果在分布式环境下产生流水ID,以上这几种方式可能就不太好用,如有以下场景
- 工作流的流水编号
工作流的编号通常会是以下格式 如2022060200001-2022060299999 到了第二天时尾数又要生00001开始编,这种编号规则有一个好处就是非常直观的通过工作流编号就可以看出来这是哪一天申请的流程,一天大概有多少流水码。那么如果我们用常规编号规则其实是比较难完成此需求的。

