服务端基础设施开发----整合雪花算法,全局生成主键id

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/cdnight/article/details/86713987

前言

当需要用到分布式id时候,必然需要不同的id,自增已经不合用了。
下面将整合雪花算法,已经对应的配置中心,简要介绍id的生成策略。

参考:

Twitter的分布式自增ID算法snowflake (Java版)

理解分布式id生成算法SnowFlake

当然,请注意,这次插件要用到mac地址的,请看看下面的文章。
【代码打假】java如何获取mac物理地址?

整合思路说明

前人已经写了很多雪花算法的实现了,算法实现非难点。雪花算法强依赖于时间还有本机的编号,最多有1024个编号组合。
也就是说,每一个雪花算法的实例,只要编号不同那么生成的id就不会重复—这就引出了一个问题,同一个编号的多个不同的雪花算法实例,那么生成的id肯定会重复。
经过考虑之后,得到基本思路:每一台部署雪花id生成服务的机器有一个唯一的mac地址,该地址对应着一个编号,一台机器只能有一个雪花id生成服务,杜绝并发而产生冲突id的可能性。
待续

猜你喜欢

转载自blog.csdn.net/cdnight/article/details/86713987