分布式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年.

相关推荐
稚辉君.MCA_P8_Java36 分钟前
kafka解决了什么问题?mmap 和sendfile
java·spring boot·分布式·kafka·kubernetes
沐浴露z1 小时前
分布式场景下防止【缓存击穿】的不同方案
redis·分布式·缓存·redission
zhuyasen2 小时前
让压测回归简单:体验 PerfTest 分布式模式的“开箱即用”
分布式·压力测试
jackaroo20204 小时前
后端_Redis 分布式锁实现指南
数据库·redis·分布式
00后程序员张4 小时前
RabbitMQ核心机制
java·大数据·分布式
爱吃烤鸡翅的酸菜鱼6 小时前
深度掌握 Git 分支体系:从基础操作到高级策略与实践案例
分布式·git·后端·gitee·github
yenggd9 小时前
vxlan-bgp-evnp分布式网关配置案例
网络·分布式·华为
程序_白白15 小时前
RabbitMQ中Consumer的可靠性
分布式·rabbitmq
東雪蓮☆20 小时前
Filebeat+Kafka+ELK 日志采集实战
分布式·elk·kafka
努力买辣条20 小时前
KafKa概念与安装
分布式·kafka