每日一博 | 分布式 ID 生成服务的技术原理和项目实战
作者 | 文库App 导读 ID在我们的开发工作和日常生活中使用的非常频繁,几乎只要是在开发就会天天打交道,它的应用场景十分广泛,比如:身份证号,下单生成的订单号,购买的联合会员商品的兑换券码。不同场景对ID生成服务的要求不同,以下我们逐个分析。 全文6863字,预计阅读时间18分钟。 01 什么是分布式ID生成服务 在业务开发中,大量场景需要唯一ID来进行标识:用户独一无二的身份认证、超市售卖的商品、微信的即时消息,它们都需要标识来确定唯一性。需要在特定范围内保证ID具备唯一性,这是ID生成服务最基本的要求。 生成ID的方式多种多样,可以使用Redis键自增,UUID,或者基于雪花算法实现的ID生成服务。最常见的基于数据库ID自增的方式,在业务数据量不大的时候,单库单表可以支撑,数据再大一点搞个MySQL主从同步、读写分离也能对付。但随着数据日渐增长,主从同步也扛不住了,就需要对数据库进行分库分表,但分库分表后需要有一个唯一ID来标识一条数据,数据库的自增ID显然不能满足需求。 伴随着业务快速迭代,很多业务都需要生成ID,各自为政会陷入"重复造轮子"的低效劳动中,同时造成服务治理上的...
