We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent f8e9ca0 commit 181a4f5Copy full SHA for 181a4f5
docs/distribution/4_分布式id.md
@@ -0,0 +1,46 @@
1
+# 分布式 ID
2
+
3
+## 分布式 ID
4
5
+我们知道 ID 是数据的唯一标识,比如比如身份证 ID 对应且仅对应一个人,商品 ID 对应且仅对应一件商品。分布式 ID 是分布式系统下的 ID,分布式 ID 不存在与现实生活中,属于计算机系统中的一个概念。一个最基本的分布式 ID 需要满足以下要求:
6
7
+- 全局唯一
8
9
+- 高性能
10
11
+ 生成速度快,对本地资源消耗小
12
13
+- 高可用
14
15
+ 生成分布式 ID 的服务要保证可用性无限接近于 100%
16
17
+- 拿来即可用
18
19
+除此之外,设计一个比较好的分布式 ID 还应保证:
20
21
+- 安全性
22
23
+ ID 不应该包含敏感信息
24
25
+- 有序递增
26
27
+ 如果要把 ID 存放在数据库的话,ID 的有序性可以提升数据库写入速度。并且,很多时候 ,我们还很有可能会直接通过 ID 来进行排序。
28
29
+- 可独立部署
30
31
+ 独立部署就是分布式系统单独有一个**发号器服务**,专门用来生成分布式 ID。这样就生成 ID 的服务可以和业务相关的服务解耦。不过,这样同样带来了网络调用消耗增加的问题。总的来说,如果需要用到分布式 ID 的场景比较多的话,独立部署的发号器服务还是很有必要的。
32
33
+- 包含具体业务含义
34
35
36
37
+## 分布式 ID 生成方案
38
39
+### 数据库
40
41
+### 算法
42
43
+### 开源框架
44
45
46
0 commit comments