F0A2A087 3BC3 3028 6F9B E1F2BC85198C
登录发表评论
文字内容
1. IT U P T E N . B
2. T E 京东弹性数据库探索实践 N . B U P IT 郭伟 京东 技术架构部
3. 京东技术架构部 T E N . B 作为京东零售的技术基础设施,技术架构部专注于大规模分 布式系统的设计开发与工程实施,重点建设数据中心集群管理 U P 和大规模计算资源调度、商品图片系统以及智能化、分布式存 IT 储与数据库系统、消息队列与服务框架、日志平台与监控系统 等,持续推进京东零售整体系统架构的技术突破与创新。
4. T E N . B • 发展历程 • 整体架构 • 集群调度 T I • 故障迁移 U P • Resharding
5. T E N . B • 发展历程 • 整体架构 • 集群调度 T I • 故障迁移 U P • Resharding
6. 发展历程 2011 MySQL Oracle SqlServer 2014 IT U P T E N 2015 . B MySQL JProxy 2017 京东弹性 数据库
7. 痛点 T E N . B 资源使用 不合理 单机性能瓶颈 IT U P 数据迁移 不是在迁数据 就是在迁数据的路上 分库分表 水平扩展
8. 痛点 基于DNS方式 IT U P T E N . B 基于服务发现
9. IT U P T E N . B
10. T E N . B • 发展历程 • 整体架构 • 集群调度 T I • 故障迁移 U P • Resharding
11. 整体架构 IT U P T E N . B
12. 网关架构 IT U P T E N . B
13. Transfer架构 T E N . B 数据迁移工具 IT U P
14. T E N . B • 发展历程 • 整体架构 • 集群调度 T I • 故障迁移 U P • Resharding
15. Cloud Native定义 T E N . B CNCF对于Cloud Native应用的定义,是使用开源工具栈来实现如 下特征: • 容器化(Containerized):每个部分(应用程序,进程等)都 封装在自己的容器中。这有助于重复性,透明度和资源隔离。 • 动态编排(Dynamically orchestrated):动态的调度和管理容 器以优化资源利用。 • 面向微服务(Microservices oriented):应用程序基于微服务 架构,显著提高架构演进的灵活性和可维护性。 IT U P
16. IT U P T E N . B
17. 调度策略 T E N . B 反亲和性AntiAffinity: • 匹配有更多的逻辑组合,不只是字符的完全相等 U P • 调度分成软策略(soft)和硬策略(hard),在软策略的情况下,如果没有满 IT 足调度条件的节点,pod 会忽略这条规则,继续完成调度过程。在硬策略的情 况下,如果没有满足条件的节点,就不断重试; • 软策略:preferredDuringSchedulingIgnoredDuringExecution • 硬策略: requiredDuringSchedulingIgnoredDuringExecution
18. T E N . B 可选的操作符 • • • • • • In:label 的值在某个列表中 NotIn:label 的值不在某个列表中 Exists:某个 label 存在 DoesNotExist: 某个 label 不存在 Gt:label 的值大于某个值(字符串比较) Lt:label 的值小于某个值(字符串比较) IT U P
19. IT U P T E N . B
20. 调度方案 方案1: T + E N . B 方案2: IT U P +
21. T E N . B • 发展历程 • 整体架构 • 集群调度 T I • 故障迁移 U P • Resharding
22. Sharding/Resharding T E N . B 通过添加(减少)从库或者拆分分片的方式以达到业务读写吞吐 量均衡的目的; 场景 操作 U P 提升读取的吞吐量 提升写入的吞吐量 IT 收回过渡分配的资源 增加地理多样性 热数据 添加从库/拆分分片 分片拆分 合并分片/垂直扩缩/迁移缩容 增加新异地数据中心/添加异地从库 读取场景:添加从库/拆分热数据分片 写入场景:拆分热数据分片
23. Resharding IT U P T E N . B Shard A shard is a division within a keyspace. A shard typically contains one MySQL master and many MySQL slaves.
24. Resharding T E N . B • Shard • KeyRange IT U P
25. Resharding IT U P T E N . B
26. Resharding Setp1:创建两个目标分片 IT U P T E N . B
27. Resharding 初始化源分片、 目标分片信息 IT U P T E N . B
28. Resharding T E N . B 目标分片无法覆 盖所有Range IT U P
29. Resharding T E N . B 合理性检查-SanityCheck: • Destination Shard的master已经存在 • Destination Shard的Tablet只有master、replica、rdonly三 种类型 IT U P • Destination Shard的Tablet都为未上线(NotServing)状态 • Source Shard为线上(Serving)状态
30. Resharding Setp2:全量数据过滤复制 IT U P T E N . B (1)复制表结构信息(copySchema) (2)将Rdonly从Master上摘下来,然后过滤拷贝静态数据 到两个目标分片上
31. Resharding 过滤复制: 在Destination Master上开启一个BinlogPlayer,BinlogPlayer去Source Shard 的 replicaTablet读取binlog,根据binlog和Sharding Key决定是否执行binlog U P T E N . B IT keyRange(id) = Hash(id) => []byte
32. Resharding T E N . B U P IT SELECT id, x1, x2, x3, x4 FROM t1 WHRER id >= ‘start’ AND id < ‘end’ ORDER BY id;
33. Resharding Setp3:增量数据过滤复制 IT U P T E N . B (1)通过worker建立SourceTablet和TargetTablet之间的复制关系 (2)SourceTablet针对每个TargetTablet创建协程,并根据keyRange发送Binlog日志 (3)每个TargetTablet中的BinlogPlayer回放Binlog内容
34. Resharding Step4:数据一致性校验 IT U P T E N . B (1)移除Replica和Master的主从复制关系,等待过滤复制无延时 (2)Worker执行逐行数据校验,校验通过后将Replica和Master的 复制关系恢复。
35. Resharding Step5:切换ServerdType到目标分片 T E N . B U P IT (1)在正常复制情况下,先切换从的Tablet (2) 源Master停写, 等目标Binlog同步之后停止过滤复制 (3)将目标状态改为Serving, 源状态改为NotServing
36. Resharding T E N . B 迁移过程中首先需要迁移rdonly和replica模式的Tablet,最后迁移 master。迁移rdonly和replica只是通过修改路由信息将读操作转移到 Destination Shard相应的rdonly和replica上,而不会停止过滤复制。 为什么不先迁移master呢? U P 如果首先迁移了master,replica和rdonly还是原来的Shard提供服务, 这时Source Shard数据已经不更新了,相当于replica和rdonly在使用 一份历史快照数据提供服务。 IT
37. Resharding T E N . B 迁移master的主要步骤: • 停止master的读写服务并得到master的binlog位置pos U P • 等待所有的Destination Shard追binlog到 pos位置,保证无复制延迟 • 停止所有Destination Shard的过滤复制 IT • 修改DestinationShard的servedType为服务状态、更新路由信息并广播
38. T E N . B • 发展历程 • 整体架构 • 集群调度 T I • 故障迁移 U P • Resharding
39. 故障迁移 • 一主两(三)从 • 一个(两)半同步 • 一个异步 IT U P T E N . B
40. IT U P 机房3如果网络故障我们 应该怎么处理 T E N . B
41. T E N . B • 两副本 • 网络隔离 IT U P
42. T E N . B 最终形态 IT U P
43. IT U P T E N . B
-
1
267E0EED 82D8 18D7 33...
Cartel
-
2
E2FCD774 048F 841A 31...
Cartel
-
3
B7AFDC0D A07F FD0C 3C...
Cartel
-
4
33796CDB 24FA F284 A8...
Cartel
-
5
B0BBAE20 2FA1 C595 1D...
Cartel
-
6
F74ABDB2 2438 712F 4D...
Cartel
-
7
EAEF2D0D 423C 3E0F 2C...
Cartel
-
8
28C29C09 2934 F713 CC...
Cartel
-
9
BED85A50 C1DC 169E BB...
Cartel
-
10
A77A6E7D D24A 24AA F4...
Cartel
-
11
A33E90D5 C9CC 9BB5 C1...
Cartel
-
12
74B5B7AD 7E55 F8BB F7...
Cartel
-
13
F3EB1B52 14A4 A331 30...
Cartel
-
14
DEB15A37 524C C558 B5...
Cartel
-
15
7F85E4F4 848B 7129 81...
Cartel
-
16
DE126576 FFE3 EF95 5F...
Cartel
-
17
CBF672E1 90F4 C05A F6...
Cartel
-
18
518C90B7 4EEE 0B47 67...
Cartel
-
19
分布式数据库助力金融科技架构转型
Cartel
-
20
189656CB CB87 3CB7 8F...
Cartel
-
21
CE9C9392 6005 A935 1A...
Cartel
-
22
BA2627EB B856 1C95 2C...
Cartel
-
23
CE519D9E A7A5 5168 23...
Cartel
-
24
2EE0A48C 14F0 6B8C D2...
Cartel
-
F0A2A087 3BC3 3028 6F...
Cartel
-
26
7B058401 C6B5 45EB 90...
Cartel
-
27
78C36620 23AE 3931 A6...
Cartel
-
28
6CBFE772 6051 81A2 10...
Cartel
-
29
2927DB20 DD00 492A 8D...
Cartel
-
30
83F652A8 51D0 C23B A6...
Cartel
-
31
57E2C3F0 5806 1E2D DE...
Cartel
-
32
075FBBB0 0D09 1343 21...
Cartel
-
33
B3544016 1C66 385A 42...
Cartel
-
34
EB6608BD D503 3F98 F1...
Cartel
-
35
1D9E51C6 CEDB DA9B 15...
Cartel
-
36
E39023D8 0364 1E71 00...
Cartel
-
37
4AB1F812 4E8B 4DEC 53...
Cartel
-
38
83D50A4A 0BD2 3E1C 9C...
Cartel
-
39
F85D5A39 8626 0627 F0...
Cartel
-
40
ABC5A447 9632 0350 52...
Cartel
-
41
7573AA91 B43C AE3A BD...
Cartel
-
42
DBF86929 4AE1 CAD7 B3...
Cartel
-
43
4D4B8441 83CF 640A 24...
Cartel
-
44
6DCD79D8 6E4A DF88 52...
Cartel
-
45
A376EA86 A576 9319 67...
Cartel
-
46
5E296F32 EE21 EA6D 60...
Cartel
-
47
3BD8D59B 20F3 FE8A 17...
Cartel
-
48
2F0200AD 8839 E26B 6E...
Cartel
-
49
6D2277BD 78AD E72D 1E...
Cartel
-
50
84FC1C89 4783 C388 F4...
Cartel
-
51
28D4AA9A 8A25 1322 4A...
Cartel
-
52
C249EEC3 F163 1DC3 A2...
Cartel
-
53
624CF535 FC2C 586A 50...
Cartel
-
54
D14FFCFD BE50 EF53 E6...
Cartel
-
55
03C4A47F C9E9 6F29 D5...
Cartel
-
56
C1D4A4F4 BDAD 7FE5 9E...
Cartel
-
57
FD21B973 A389 038C C1...
Cartel
-
58
E4535CC0 7AE3 E1DF 25...
Cartel
-
59
B751567F 61B3 A9B9 6B...
Cartel
-
60
A2C30010 FC42 CDEA 47...
Cartel
-
61
F630429A FBA5 294C 54...
Cartel
-
62
2013AF59 804F 2DB8 EF...
Cartel
-
63
AB250C8D 09AF DD22 DB...
Cartel
-
64
F12A7630 77D0 C87A 45...
Cartel
-
65
746BAAD0 105A 0164 60...
Cartel
-
66
092BF76E 6971 4261 45...
Cartel
-
67
C9B5BB24 8A97 7358 8F...
Cartel
-
68
BEDF9E44 254C 4F84 D9...
Cartel
-
69
0C1449B2 9931 202F 24...
Cartel
-
70
D6EBCC71 5A01 315A 9F...
Cartel
-
71
A0550C5C CA93 08F8 56...
Cartel
-
72
781CB040 1AD0 BE35 C2...
Cartel
-
73
1BB528AB 99FA 2395 6F...
Cartel
-
74
436F7BEB F345 BC92 9C...
Cartel
-
75
36F86910 4669 9B76 63...
Cartel
-
76
A3EA3B10 A3A1 2370 42...
Cartel
-
77
D55E1DD4 9BC9 860F 14...
Cartel
-
78
6356368D 645B C68E B2...
Cartel
-
79
9CAB16CC 3C47 5F82 73...
Cartel
-
80
C128CA17 E041 9CAC 8D...
Cartel
-
81
FDCEB27E 5381 6581 B1...
Cartel
-
82
8FEEDD4D 550F 17BC 1C...
Cartel
-
83
C6258456 40D9 BAA6 DB...
Cartel
-
84
1923C10F F21C BEE5 1B...
Cartel
-
85
0DE711CA D522 4458 31...
Cartel
-
86
50D041B9 4BB1 6C72 6F...
Cartel
-
87
BBE21A87 5F72 0F85 73...
Cartel
-
88
FB916CFF ED98 970E 19...
Cartel
-
89
EB858852 B693 9D95 2F...
Cartel
-
90
EA9D065D C104 AB0D 84...
Cartel
-
91
CAD16822 5982 62F1 9D...
Cartel
-
92
DADAD910 FCD0 5077 3A...
Cartel
-
93
7E261F8A 1B2A 3232 17...
Cartel
-
94
25E6933A 075C 7670 DE...
Cartel
-
95
9FBE5886 A505 836B CB...
Cartel
-
96
3166E1DD 5B74 EA5A 8E...
Cartel
-
97
0C1DC927 961E AB8B A1...
Cartel
-
98
22ACDD53 526D 1614 C3...
Cartel
-
99
B268AC98 F047 6C85 4D...
Cartel
-
100
C58F7C3E 3648 A972 10...
Cartel
-
101
075FB80E B296 F229 AD...
Cartel
-
102
9EB12E69 92A1 5197 75...
Cartel
-
103
5FCE8525 9B2E A5FF C0...
Cartel
-
267E0EED 82D8 18D7 33...
Cartel
-
分布式数据库助力金融科技架构转型
Cartel
-
518C90B7 4EEE 0B47 67...
Cartel
-
0DE711CA D522 4458 31...
Cartel
-
57E2C3F0 5806 1E2D DE...
Cartel
-
78C36620 23AE 3931 A6...
Cartel
-
A376EA86 A576 9319 67...
Cartel
-
A2C30010 FC42 CDEA 47...
Cartel
-
746BAAD0 105A 0164 60...
Cartel
-
3BD8D59B 20F3 FE8A 17...
Cartel
分享











