分布式ID方案(标记)

一、参考文章-标记

分布式ID方案有哪些?雪花算法如何搞定时钟回拨和动态机器ID?

二、应用

1.百度 uid-generator

github项目地址
原理参考

2.百度 uid-generator 扩展应用

灯官网
灯 项目代码
lamp-util 单元模块

lamp-util 单元模块子模块 lamp-uid 扩展uid-generator:

  1. WorkerNodeDAO 从 com.baidu.fsg.uid.worker.dao.WorkerNodeDAO 移动到 top.tangyh.basic.uid.dao.WorkerNodeDAO

  2. DisposableWorkerIdAssigner 类的assignWorkerId方法,事务增加:(rollbackFor = Exception.class

  3. 关于UID比特分配的建议

    对于并发数要求不高、期望长期使用的应用, 可增加timeBits位数, 减少seqBits位数. 例如节点采取用完即弃的WorkerIdAssigner策略,

    重启频率为12次/天, 那么配置成{"workerBits":23,"timeBits":31,"seqBits":9}时,可支持28个节点以整体并发量14400 UID/s的速度持续运行68年.

    对于节点重启频率频繁、期望长期使用的应用, 可增加workerBits和timeBits位数, 减少seqBits位数. 例如节点采取用完即弃的WorkerIdAssigner策略,重启频率为24*12次/天, 那么配置成{"workerBits":27,"timeBits":30,"seqBits":6}时,可支持37个节点以整体并发量2400 UID/s的速度持续运行34年.

相关推荐
身如柳絮随风扬2 小时前
多数据源切换实战:从业务场景到3种实现方案全解析
java·分布式·微服务
AIMath~4 小时前
雪花算法+ZooKeeper解决方案+RPC是什么
分布式·zookeeper·云原生
KmSH8umpK4 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第六篇
数据库·redis·分布式
空中海5 小时前
Kafka :存储、复制与可靠性
分布式·kafka·linq
渣渣盟6 小时前
构建企业级实时数据管道:Kafka + Flink 最佳实践
分布式·flink·kafka
KmSH8umpK7 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第四篇
数据库·redis·分布式
KmSH8umpK7 小时前
Redis分布式锁从原生手写到Redisson高阶落地,附线上死锁复盘优化方案进阶第五篇
数据库·redis·分布式
卧室小白8 小时前
ceph-分布式存储
分布式
aXin_ya8 小时前
微服务第九天 分布式缓存(Redis)
分布式·缓存·微服务
空中海9 小时前
Kafka 基础:从消息队列到事件流平台
分布式·kafka·linq