文件名称:sequence:具有全局唯一,粗略顺序,高性能,高可用性,可伸缩性和其他特征的分布式ID生成器
文件大小:32KB
文件格式:ZIP
更新时间:2024-05-22 16:20:21
Java
1. 基本需求 需求 描述 全局唯一 可以利用时间的有序性, 并且在某个时间单元下采用自增序列 粗略有序 在分布式系统中, 难以做到绝对有序, 因此可以采用相对有序的方式 可反解 一个 ID 在生成后, 本身就带有很多信息量, 在存储层面可以省下传统的 timestamp 等字段. 高性能 ID 生成取决于网络 I/O 和 CPU 的性能 高可用 在一台机器挂掉的时候, 请求必须能够转发到其他机器上, 远程服务宕机, 也需要有本地容错方案 可伸缩 业务量永远都在增长, 系统必须考虑后续扩展 2. 设计要点 2.1 发布模式 根据最终的用户使用方式, 发布模式可以分为 嵌入发布模式, 中心服务器发布模式 和 REST 发布模式 嵌入发布模式: 只适用于 Java 客户端, 提供一个本地的 Jar 包, Jar 包是嵌入式的原生服务, 需要提前配置本地机器的 ID, 但是不依赖与中心服务器 中
【文件预览】:
sequence-master
----sequence-service()
--------pom.xml(3KB)
--------src()
----pom.xml(1KB)
----sequence-intf()
--------pom.xml(521B)
--------src()
----LICENSE(11KB)
----.gitignore(137B)
----README.md(8KB)