这篇文章只是做一个简介和了解。
如果不是电商平台的程序猿和程序媛们,可以看个热闹。
电商平台的胖友们可以踊跃发言,给点真诚的建议,万分感谢~
分布式ID算法面对的场景
在分布式系统中,肯定需要对大量的数据和消息进行唯一标识,最简单的比如订单号。
像京东或者淘宝在双十一或者 618 的时候,短时间内订单肯定会指数性暴增。那么如何提供有效和唯一的ID进行订单的标识,这时候就需要用到分布式ID算法了。
解决方案
数据库自增ID:
在不多的数据量下也可以实现,但是大数据量很有可能拖垮整个DB。
UUID:
如果使用UUID的话,虽然可以满足不重复的要求,但是无法满足订单ID是递增这样的要求。而且可读性差,不能根据ID进行范围查询。
SnowFlake
雪花算法,咱们今天课堂主要内容。在接下来会详细讲解一下。
分布式ID的特性
全局唯一性
不能出现有重复的ID标识,这是基本要求。
递增性
确保生成ID对于用户或业务是递增的。
高可用性
确保任何时候都能生成正确的ID。
高性能性
<