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

相关推荐
老友@30 分钟前
RabbitMQ 延时队列插件安装与使用详解(基于 Delayed Message Plugin)
运维·分布式·docker·rabbitmq·延时队列
思辨共悟17 小时前
Kafka简述及学习课程
分布式·kafka
Code季风18 小时前
从超卖到数据一致:分布式锁的最佳实践与演进历程
分布式·微服务·go
Code季风18 小时前
深入理解 Redis 分布式锁:实现互斥保障的最佳实践
redis·分布式·微服务
lifallen18 小时前
hadoop.yarn 带时间的LRU 延迟删除
java·大数据·数据结构·hadoop·分布式·算法
努力搬砖ll1 天前
分布式弹幕系统设计
分布式
九伯都1 天前
rabbitmq的安装和使用-windows版本
windows·分布式·rabbitmq
你我约定有三1 天前
分布式微服务--万字详解 微服务的各种负载均衡全场景以注意点
java·开发语言·windows·分布式·微服务·架构·负载均衡
哈哈很哈哈1 天前
Hadoop JMX 配置的完整文档
大数据·hadoop·分布式