分布式架构设计之分布式ID生成方案,看淘宝订单号生成规则
ann3311 2024-12-22 14:18 12 浏览 0 评论
上一篇文章梳理了分布式系统设计几个核心原则,其中谈到分库分表,实践中肯定涉及到唯一ID的使用和生成问题,比如订单ID、交易ID等。本文主要讲述分布式ID设计要考虑的因素及主流的实现方案,同时也会讲淘宝订单ID是如何生成的。
为什么要使用分布式ID
单体数据库,我们一般使用自增字段生成唯一ID就够了,当我们数据量达到一定程度,需要分库分表来缓解数据库的压力时,就需要外部生成唯一ID。
分布式ID设计关注的特性:
- 唯一性
- 高性能
- 安全性,防止遍历数据
- 结合业务属性编码,如可按生成时间排序、分库表路由
分布式ID生成方案
1 - UUID
UUID(Universally Unique Identifier)是包含32个16进制数字,以连字号分为五段,示例:000e8400-c29b-41d4-be16-116655220000。
优点:全局唯一、去中心化稳定性高、服务器本地生成效率高
缺点:字符串长度太长存储空间大、非数字索引效率低、不能排序
2 - 雪花算法
SnowFlake算法是Twitter公司推出的专门针对分布式ID的解决方案。结构:符号位+时间戳+工作进程位+序列号位,一个64bit的整数,正好为一个long类型数据,在Mysql中可以用bigint存储。
- 从左到右,第一位为符号位,0表示正,1表示负。
- 时间戳:2^41/(365 * 24 * 60 * 60 * 1000)=69.73年。可表示的范围为69年(从1970年开始),可以用到2039年。
- 10bit工作位是5位数据中心ID和5位工作ID,其中5位的数据中心ID和5位工作ID的范围是:0到2^5 -1 = 31,分布式环境中一般都是通过设置不同的数据中心ID和工作ID来确保生成的ID不会重复。
- 12bit-序列号表示每个机房的每个机器每毫秒可以产生2^12-1(4095)个不同的ID序号
优点:全局唯一、不依赖外部组件、生成结果是数字,方便存储提高索引效率、可排序
缺点:依赖系统时间戳,生成新ID时获取的时间戳要大于上次生成的时间戳,否则会报错,所以集群中服务器一定要做时间同步,如果发生时间回拨,生成ID会失败。
针对雪花算法的问题,国内也有开源方案
- 百度UidGenerator:采用RingBuffer来缓存已生成的UID, 并行化UID的生产和消费, 单机QPS可达600万。
- 美团Leaf:提高了对时间回拨的容忍性,如果时间回拨小于2秒,生成ID会等待。
3 - 自定义生成算法
会根据业务需求自定义生成分布式ID,比如淘宝订单号,如:2996940718765557337,由19位组成的数字,后6位是买家ID的头尾3位组成,前13位是业务标识+时间戳生成,前13位是确保可以排序,后6位则用于分库分表的路由字段,通过后6位hash后,可以知道当前用户的订单数据在哪个库哪张表。同时,用买家ID做路由字段,可以避免数据倾斜。
相关推荐
- 如何把已经造成的店铺违规影响降到最低?
-
很多卖家经常来说,我的店铺违规降权了,怎么删除啊?店铺违规降权是没办法消除的,我们能做的就是尽量把影响降到最低。如果是确实违规,那就想办法降低影响。如果是误判,那就积极进行申诉。貉塘月色论坛首先我们先...
- 淘宝用户名怎么改(怎么改淘宝用户名字)
-
淘宝用户名怎么改?以下为具体操作步骤:品牌型号:iphone13系统版本:ios16.6.1软件版本:淘宝10.27.40方法/步骤1/3分步阅读手机淘宝在我的淘宝页面点击右上角“设置”。...
- 电商成长路之淘宝新手开店基本功(新手淘宝开店入门基础教程)
-
随着近两年淘宝的飞速崛起,越来越多的人开起了淘宝店。问题来了,店是开起了,怎么天天等着,旺旺总是只有广告信息呢,顾客去哪儿了?相信大部分的新手朋友还是迫切希望改善的,今天利用闲暇时间一起交流一下,给大...
- 一文读懂!成人用品网店开店流程大起底,资质办理全攻略
-
现在网上购物越来越方便,成人用品也跟着火了起来!网上买东西隐私性强,不用尴尬,所以很多人都想在网上开家成人用品店。但到底怎么开?需要办啥手续?今天就手把手教你!...
- 淘宝主图优化神器!AI智能指令改图,电商卖家都在用!
-
传统修图流程繁琐、耗时且成本高昂,让许多中小卖家望而却步。“图生生”推出「AI修图-指令改图」功能,只需上传图片+简单指令,即可实现专业级图片优化!...
- 这是一节高标准的搜索扫盲课,有点长耐心看。
-
大家想必都知道淘宝的搜索类目逻辑主要有前台类目树和后台类目树组成,前台类目面向买家展现查找,后台类目便于商家发布商品信息存储管理,从技术的角度来看的话,前台类目就是在后台类目的基础上建立了一个虚拟类目...
- 怎么做网站seo优化-做网站优化还有效果吗
-
现在大家都很熟悉淘宝SEO优化了,大家也经常会对自己的淘宝店铺进行优化,但是你知道网站SEO该如何优化吗?下面小编就给大家介绍一下,希望对大家有所帮助。如何优化网上商店SEO1.首先,内容为王作为网...
- 网店要如何做好SEO优化,有哪些技巧?
-
网购在方便人们生活的同时也促进了就业,开设网店成为了许多创业者的首选。然而,随着大量人才涌入,网店之间的竞争也愈发激烈。所以,不少网店经营者开始对自家网店进行SEO优化,以此吸引顾客,增加销量。那么,...
- 淘宝店铺搜索流量始终起不来?做好这四点优化,快速打造出爆款!
-
流量碎片化越来越明显,但是搜索流量仍然是重中之重,很多商家都在抢这块流量,无奈又怎么都做不起来,是哪里出了问题呢?我们做产品不管是卖什么,都会存在竞争,如果你所做的类目都是搜索流量,但是你却没有,那店...
- 搜索效果差,试试这几个办法(搜索搜索的)
-
搜索质量差,找不到所需内容时,可以尝试以下几种方法:换搜索工具;优化关键词;使用搜索指令;多看一些结果。1、换搜索工具搜索效果差,那就换个搜索工具,看看其它搜索引擎的结果。...
- 网店出售0.5元“怒骂苏家三父子”,一周300多人来撒气
-
#苏明成出来挨打#、#苏大强又作妖#、#苏家三个男人都是自私自利#……自从电视剧《都挺好》热播以来,热搜天天都被剧中的苏家三父子“花式霸屏”,下面则是网友一水地怒骂。演员郭京飞继带头“打倒”自己的角色...
- 广东某公司抢注“安耐晒”商标 敲诈淘宝卖家
-
近日,有淘宝代购卖家发微博反映,自己家卖的日本资深堂“安耐晒”产品,被举报,申诉均失败,照成店铺商品被下架删除。微博发出后,引来其他卖家的关注,也都反映自己卖的“安耐晒”被投诉下架删除。事情真相原来是...
- 恶意给差评敲诈淘宝店主,这位“买家”三顾茅庐终被抓
-
网上购物时,网友都会查看商品评论区,有没有差评成为众多网友网络购物的重要购买标准,影响着商品销量。然而,电商卖家对商铺口碑、信誉的重视也使得一些不法分子有机可乘。最近,深圳警方破获了一起利用恶意差评敲...
- 新手操作闲鱼如何日入300-500元?第五课操作中有问题如何处理
-
大家好,我是兔毛,今天继续给大家分享闲鱼的课程,前面几课我已经教会了大家如何去操作闲鱼,接下来就是讲解一下操作中会遇到哪些问题,需要怎么去处理,还有解答一些朋友的题的问题。有很朋友私信问我,要多少钱?...
- 电商被举报“偷逃税”? 专家教你反敲诈
-
作者:侯珍珍...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 淘宝店铺优惠券怎么用 (36)
- 淘宝图片上传 (53)
- 购买天猫专卖店 (31)
- 淘宝搭配套餐怎么弄 (31)
- 淘宝试用什么意思 (39)
- 淘宝动态评分 (34)
- 淘宝保证金在哪里交 (32)
- 淘宝宝贝降权 (32)
- 淘宝恶意点击 (32)
- 淘宝查号 (31)
- 淘宝系统异常 (31)
- 天猫平台 (33)
- 淘宝信誉等级划分 (31)
- 天猫网店开店费用 (32)
- 淘宝假一赔三申请 (37)
- 淘宝会员打折 (35)
- 淘宝好评率 (32)
- 淘宝如何加入购物车 (33)
- 淘宝涨价 (35)
- 淘宝如何刷信誉 (32)
- 天猫直播入口 (34)
- 淘宝上架 (33)
- 淘宝帐号 (33)
- 淘宝不能发货 (33)
- 淘宝排名查询 (32)