
分布式发号器
lmkbuffon
永言配命,自求多福
展开
-
分布式发号器(1)
为什么不用UUIDUUID虽然能够保证ID的唯一性,但是,它无法满足业务系统需要的很多其他特性,例如:时间粗略有序性,可反解和可制造型。另外,UUID产生的时候使用完全的时间数据,性能比较差,并且UUID比较长,占用空间大,间接导致数据库性能下降,更重要的是,UUID并不具有有序性,这导致B+树索引在写的时候会有过多的随机写操作(连续的ID会产生部分顺序写),另外写的时候由于不能产生...原创 2019-06-16 16:14:18 · 372 阅读 · 0 评论 -
分布式发号器(2)
目录数据结构最大峰值型最小粒度值型并发机器ID的分配时间同步设计验证性能需求调整时间是否会影响ID产生功能?每4年一次同步润秒会不会影响ID产生功能?数据结构1. 最大峰值型:采用秒级有序,秒级时间占用30位,序列号占用20位字段:|`版本`|`类型`|`生成方式`|`秒级时间`|`序列号`|`机器ID`|位数:|*63*|*6...原创 2019-06-16 18:40:12 · 554 阅读 · 0 评论 -
分布式发号器(3):vesta-intf模块
vesta-intf该工程下只包含两个目录结构:Id类是封装了所有字段的Bean对象:package com.robert.vesta.service.bean;import java.io.Serializable;public class Id implements Serializable { private static final long seria...原创 2019-06-16 22:21:08 · 486 阅读 · 0 评论 -
分布式发号器(4):vesta-service
目录serviceimplbean:IdMeta,IdMetaFactory,IdTypeConverter:ID元数据与长整型ID的互相转换populater:Id产生方案timer:时间操作provider:机器ID的产生util工具类该模块实现了发号器接口的核心项目该模块内部包结构如下:serviceimplbean:IdMeta,...原创 2019-06-17 17:12:18 · 1016 阅读 · 0 评论