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

相关推荐
optimistic_chen2 小时前
【Redis 系列】持久化特性
linux·数据库·redis·分布式·中间件·持久化
论迹2 小时前
RabbitMQ
分布式·rabbitmq
Java 码农2 小时前
RabbitMQ集群部署方案及配置指南08--电商业务延迟队列定制化方案
大数据·分布式·rabbitmq
CodeAmaz3 小时前
分布式 ID 方案(详细版)
分布式·分布式id
利刃大大4 小时前
【RabbitMQ】安装详解 && 什么是MQ && RabbitMQ介绍
分布式·中间件·消息队列·rabbitmq·mq
QQ_4376643144 小时前
kafka
分布式·kafka
是一个Bug4 小时前
Java后端开发面试题清单(50道) - 分布式基础
java·分布式·wpf
大猫和小黄4 小时前
Java ID生成策略全面解析:从单机到分布式的最佳实践
java·开发语言·分布式·id
ZePingPingZe5 小时前
CAP—ZooKeeper ZAB协议:从理论到实践的一致性与可用性平衡之道
分布式·zookeeper
掘金-我是哪吒5 小时前
完整的Kafka项目启动流程
分布式·kafka