Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Coudy Hou
JavaGuide
提交
dd8d9f75
J
JavaGuide
项目概览
Coudy Hou
/
JavaGuide
与 Fork 源项目一致
从无法访问的项目Fork
通知
5
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
J
JavaGuide
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
dd8d9f75
编写于
11月 08, 2019
作者:
K
Kou Shuang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
分布式id生成方案总结
上级
d9c23ebd
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
15 addition
and
3 deletion
+15
-3
README.md
README.md
+1
-1
docs/system-design/micro-service/分布式id生成方案总结.md
docs/system-design/micro-service/分布式id生成方案总结.md
+14
-2
未找到文件。
README.md
浏览文件 @
dd8d9f75
...
@@ -229,7 +229,7 @@
...
@@ -229,7 +229,7 @@
#### 唯一 id 生成
#### 唯一 id 生成
代办......
[
分布式id生成方案总结
](
docs/system-design/micro-service/分布式id生成方案总结.md
)
#### 服务治理:服务注册与发现、服务路由控制
#### 服务治理:服务注册与发现、服务路由控制
...
...
docs/system-design/micro-service/分布式id生成方案总结.md
浏览文件 @
dd8d9f75
> 点击关注[公众号](#公众号)及时获取笔主最新更新文章,并可免费领取本文档配套的《Java面试突击》以及Java工程师必备学习资源。
>
> 本文授权转载自:https://juejin.im/post/5d6fc8eff265da03ef7a324b ,作者:1点25。
ID是数据的唯一标识,传统的做法是利用UUID和数据库的自增ID,在互联网企业中,大部分公司使用的都是Mysql,并且因为需要事务支持,所以通常会使用Innodb存储引擎,UUID太长以及无序,所以并不适合在Innodb中来作为主键,自增ID比较合适,但是随着公司的业务发展,数据量将越来越大,需要对数据进行分表,而分表后,每个表中的数据都会按自己的节奏进行自增,很有可能出现ID冲突。这时就需要一个单独的机制来负责生成唯一ID,生成出来的ID也可以叫做
**分布式ID**
,或
**全局ID**
。下面来分析各个生成分布式ID的机制。
ID是数据的唯一标识,传统的做法是利用UUID和数据库的自增ID,在互联网企业中,大部分公司使用的都是Mysql,并且因为需要事务支持,所以通常会使用Innodb存储引擎,UUID太长以及无序,所以并不适合在Innodb中来作为主键,自增ID比较合适,但是随着公司的业务发展,数据量将越来越大,需要对数据进行分表,而分表后,每个表中的数据都会按自己的节奏进行自增,很有可能出现ID冲突。这时就需要一个单独的机制来负责生成唯一ID,生成出来的ID也可以叫做
**分布式ID**
,或
**全局ID**
。下面来分析各个生成分布式ID的机制。
![
常用分布式id方案
](
https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-7/分布式id方案.jpeg
)
![
常用分布式id方案
](
https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-7/分布式id方案.jpeg
)
...
@@ -171,4 +175,12 @@ RDB持久化相当于定时打一个快照进行持久化,如果打完快照
...
@@ -171,4 +175,12 @@ RDB持久化相当于定时打一个快照进行持久化,如果打完快照
AOF持久化相当于对每条写命令进行持久化,如果Redis挂掉了,不会出现ID重复的现象,但是会由于incr命令过得,导致重启恢复数据时间过长。
AOF持久化相当于对每条写命令进行持久化,如果Redis挂掉了,不会出现ID重复的现象,但是会由于incr命令过得,导致重启恢复数据时间过长。
> 本文授权转载自:https://juejin.im/post/5d6fc8eff265da03ef7a324b ,作者:1点25。
## 公众号
\ No newline at end of file
如果大家想要实时关注我更新的文章以及分享的干货的话,可以关注我的公众号。
**《Java面试突击》:**
由本文档衍生的专为面试而生的《Java面试突击》V2.0 PDF 版本
[
公众号
](
#公众号
)
后台回复
**"Java面试突击"**
即可免费领取!
**Java工程师必备学习资源:**
一些Java工程师常用学习资源公众号后台回复关键字
**“1”**
即可免费无套路获取。
![
我的公众号
](
https://my-blog-to-use.oss-cn-beijing.aliyuncs.com/2019-6/167598cd2e17b8ec.png
)
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录