常用的分布式id设计方案

一:全局性,有序性。

实现方案有基于数据库的,也有snowflake算法

snowflake中的时间是system.currentTimemillins(),所以不受时令切换的影响

出来考虑全局性和有序性,还有没有别的考虑? 这些解决方案有没有什么问题?

有意义,id有业务意义。高可用,长度过长对于mysql性能有影响,有些语言也有影响

数据库实现方式对数据库性能有影响,可以用俩层架构,可以加一层缓存,然后批量操作数据库。

snowflake实现方式可能会有时间偏斜问题,可预测问题,2038年的问题。

时钟偏斜问题可以开启ntp,也可以缓存时间戳。

还有不同的机器时间可能不一致。

猜你喜欢

转载自www.cnblogs.com/hanguocai/p/10111232.html