id生成器

UidGenerator

百度开源UidGenerator是Java实现的, 基于Snowflake算法的唯一ID生成器。UidGenerator以组件形式工作在应用项目中, 支持自定义workerId位数和初始化策略, 从而适用于docker等虚拟化环境下实例自动重启、漂移等场景。 在实现上, UidGenerator通过借用未来时间来解决sequence天然存在的并发限制; 采用RingBuffer来缓存已生成的UID, 并行化UID的生产和消费, 同时对CacheLine补齐,避免了由RingBuffer带来的硬件级「伪共享」问题. 最终单机QPS可达600万。

Leaf—美团点评分布式ID生成系统

Leaf在美团点评公司内部服务包含金融、支付交易、餐饮、外卖、酒店旅游、猫眼电影等众多业务线。目前Leaf的性能在4C8G的机器上QPS能压测到近5w/s,TP999 1ms,已经能够满足大部分的业务的需求。

微信序列号生成器架构设计及演变

递增但不连续的数字序列解决方案

tinyid 滴滴的分布式id生成系统

  • 优点:高可用
  • 缺点:趋势递增,当作为主键在MySQL的InnoDB做插入操作时会导致索引分裂次数增加,无法优化,影响插入性能

你可能感兴趣的:(JAVA)