分布式id解决方案
Posted 敲代码的小小酥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了分布式id解决方案相关的知识,希望对你有一定的参考价值。
分布式id问题
主要是分库分表带来的问题。同一个业务数据分表后,也要保证不同表的数据id唯一。否则同一个类型的业务数据,取出的数据id都是一样的,如何区分这些数据呢?
解决方案
雪花算法:
基于时间戳和机器码生成的唯一id。基本保证id递增。但是当服务器时间回拨时,可能会出现重复id。
针对这个问题,百度的UIDGenerator和美团的Leaf提供了解决方案,对于要求高的业务场景,可以使用这两种解决方案。
UUID
可以保证唯一,但是太浪费性能。
redis&&Zookeeper
利用redis或zookeeper的自增特性
总结
最推荐的是雪花算法。如果对时间回拨不敏感,用雪花算法即可
以上是关于分布式id解决方案的主要内容,如果未能解决你的问题,请参考以下文章