采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
分布式下的主键生成器,有什么好推荐的么? 如果用了雪花算法生成,排序怎么做呢?
Snowflake算法是有顺序的,可以了解一下。
分布式下的主键生成,有很多的玩法:
UUID,最简单偷懒的玩法
Snowflake类算法,例如:Snowflake、百度uid-generator等;
靠规划解决问题:比如初期已经规划好了,未来会分3个数据库,那么对于一张表,例如User,就可以做一个取模,数据库1从1自增,数据库2从2自增,数据库3从3 自增,步长都设为3。这样,数据库1的id就是147以此类推,数据库2是258一次类推,数据库3是369一次类推。
也有一些公司采用专门的序列发生器,实现自增的id,例如弄个redis计数器。
总之,这个看各个项目的选择,另外常常也都是结合自身遇到的问题去选择的。单纯问分布式下场景下的主键生成没有太大意义。
祝您学习愉快!
请问老师实际工作中用到的推荐的分布式主键生成方式是什么呢?
上面说的都可以哈,没有固定套路的。
谢谢老师回复,《阿里新零售数据库设计与实战》这个课里老师不建议用UUID,认为性能比较低,可以使用Mycat生成自增ID。
登录后可查看更多问答,登录/注册
面向未来微服务:熟练掌握Spring Cloud Alibaba
532 4
2.0k 1
2.6k 2
1.6k 3
3.6k 13