开源分布式ID框架-Leaf ,解决了时钟回拨问题

大家好,我是铺子,欢迎光临我的编程干货铺子,铺子有新货-开源分布式ID框架-Leaf 推荐星数 ★★★★★

开源分布式ID框架-Leaf ,解决了时钟回拨问题

序言

对于主键id生成有以下方面思考:

  • 安全性

如果按照主键自增策略做主键,那么会通过主键作为参考,来猜测你的订单数或者其它

  • ID递增

由于mysql索引原理,是按照顺序存储数据,如果不是递增,会出现页分裂,影响性能

  • 唯一性

生成id不能重复,必须保持唯一

一般大家都会想到用雪花算法解决,但雪花算法会面临一个时钟回拨问题。

介绍

  • 我是谁

分布式主键id

  • 我在哪

https://github.com/Meituan-Dianping/Leaf

  • 我能行

解决了回拨问题,满足了主键id唯一性、随机性、递增性。

应用情况

目前Leaf覆盖了美团点评公司内部金融、餐饮、外卖、酒店旅游、猫眼电影等众多业务线。在4C8G VM基础上,通过公司RPC方式调用,QPS压测结果近5w/s,TP999 1ms

推荐理由

  • 星数 6.3K
  • 项目活跃
  • 文档齐全

总结

在分布式主键id的框架选择上,大家可以根据自身的业务,自行选择,如果用的ORM框架是mybatis-plus,项目是中小型,可以直接引用mybatis-plus中雪花id方法生成。也可以对原有的雪花算法id进行改造,去避免时钟回拨问题。当然也可以用本文介绍的leaf,无需改造,直接引入到项目即可。

每天不断更,精彩不停止,明天见

朋友们,记得留个关注、点赞、评论哟,让我们一起去看星辰大海,品味代码人生

开源分布式ID框架-Leaf ,解决了时钟回拨问题

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
刺客伍六柒的头像 - 鹿快
评论 共2条

请登录后发表评论