全局自动ID生成器设计

来源:互联网 发布:电脑小报制作软件 编辑:程序博客网 时间:2024/04/29 23:19

最初场景:在无状态分布式系统中,数据库采用分库分表,因此无法依赖各个数据库进行统一的ID管理。

实现目标:简单高效。

技术要求:低,但有技巧。


1.        目的:在分布式或者负载均衡集群中,为了保证全局唯一ID,使用统一的全局ID控制策略,对同一空间进行唯一ID控制;

2.        使用场景:分布式系统的用户注册ID、消息ID等;

3.        设计思想:1)全局唯一ID控制策略,2)使用数据库微小表设计来产生ID,3)各节点应用不过在获取ID时采用区段批量获取、在本地缓存部分ID段,4)模块名无需配置,新的一个模块请求时,自动进行id初始化。

4.        约束:默认情况下,一个系统全局ID的数量应得到控制。

5.        实现中的考虑:获取批量ID时,需要保证事务;同时可以这样考虑,在当前事务中,直接update数据库的相应记录+1000,然后获取最后的值A,则本地可用的ID区间为[A-1000+1, A]



原创粉丝点击