Raft在Curve存储中的工程实践## raft在Curve存储中的工程实践 D I G I T A L S A I L 陈威 Curve Maintaner 网易资深服务端开发工程师 01 Curve介绍 项目背景 | Curve架构 | 使用场景 | Curve社区 raft和braft raft协议介绍 | braft介绍 raft在Curve中的应用 raft in Curve块存储 Curve块存储 | raft in curve文件存储 | 配置变更 Curve对raft的优化 优化点1 | 优化点2 05 Q&A 答疑 ## 项目背景 ## Curve是一个高性能、更稳定、易运维的云原生分布式存储系统,支持块存储和文件存储 Curve块存储和文件存储均采用raft协议 ## 2021 ~2022 Curve文件存储 ## 2018 ~2021 Curve块存储 Curve社区 02 raft和braft raft协议介绍 | braft介绍 03 raft在Curve中的应用 raft in Curve块存储 | raft in curve文件存储 | 配置变更 04 Curve对raft的优化 优化点1 | 优化点2 05 Q&A 答疑 ## RAFT协议简介 ## 什么是raft - raft 是一种新型0 码力 | 29 页 | 2.20 MB | 1 年前3
PingCAP Infra Meeutp 申砾 82 What is New TiDBWhat's next? ### TiDB 2.1 ## PD/TiKV (1/2) • Version Control • PreVote ○ PD ○ TiKV • Raft Learner • Hotspot scheduling • Asynchronous log ## PD/TiKV (2/2) • Fix DST issue • Batch Split, Fast balance/split hot region • Powerful replica strategy ☐ IDC ☐ Replica count 3/5/7 ## TiKV • Multi-thread Raft store • Multi-thread Apply worker • Consensus Join • The next generation storage engine ☐ Optimize0 码力 | 20 页 | 446.68 KB | 1 年前3
TiDB 与 TiFlash扩展——向真 HTAP 平台前进 韦万processing ☐ Based on ClickHouse with tons of proprietary modifications • Data sync via extended Raft consensus algorithm ☐ Strong consistency ☐ Trivial overhead • Clear workload isolation for not replicates log via Raft consensus protocol • TiFlash replicates data in columnstore via Raft Learner • Learner is a special read-only role in Raft • Data is replicated to learner asynchronously Write Write operation does not wait for learner finish replicating data • Introduce almost zero latency for the OLTP workload ## Low-cost Data Replication  ## 可扩展性 基于 Multi-Raft 的数据分片 Raft 协议提供副本复制的一致性 用户几乎无感知的数据调度和扩/缩容 ☐ 一条命令加减节点 除了容量外,读写热点也会被调度均衡 • 通过增加节点增加吞吐 ○ 接近线性的算力扩展 • 应用对系统抖动敏感 那么只使用 TiDB + TiSpark 也还是歇菜 ## TiFlash Extension ( Beta 测试中 ) - 通过 Raft Learner 独立同步一套列存 Raft Learner 提供异步低消耗的副本同步 Raft Learner 读取协议配合 MVCC 提供强一致的读取 - 通过 Label 进行物理隔离 AP / TP 作业互相无影响 ## TiFlash TiFlash:强一致读 O Raft Leader 虽然是异步写入,但是读取时会进行 Raft Log 索引校验 TiDB Raft Learner ## TiFlash:强一致读 O Raft Leader 数据带有事务时间戳 只有当 Raft Log 追上 Leader 的时候才真正提供读取配合 MVCC 机制,提供强一致读取 TiDB Raft Learner ## Why TiFlash0 码力 | 36 页 | 9.32 MB | 2 年前3
TiDB v7.1 中文手册· · · · · · · · · 865 9.7.3 TiFlash_raft_read_index_duration · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 866 9.7.4 TiFlash_raft_wait_index_duration · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1316 12.1.1 了解 Raft 协议 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2331 14.2.5 Partitioned Raft KV · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 4369 页 | 98.92 MB | 2 年前3
TiDB v5.3 Documentation... 394 7.6.2 TiFlash_schema_apply_duration ..... 394 7.6.3 TiFlash_raft_read_index_duration ..... 395 7.6.4 TiFlash_raft_wait_index_duration ..... 395 7.7 Customize Configurations of Monitoring Execution Plans 669 10 Tutorials 702 10.1 Multiple Data Centers in One City Deployment 702 10.1.1 Raft protocol 702 10.1.2 Three DCs in one city deployment 703 10.2 Three Data Centers in Two Cities 5 Glossary 2994 15.1 A …… 2994 15.1.1 ACID …… 2994 15.2 L …… 2994 15.2.1 leader/follower/learner …… 2994 15.3 O …… 2994 15.3.1 Old value …… 2994 15.3.2 Operator …… 2995 15.3.3 Operator step0 码力 | 2996 页 | 49.30 MB | 2 年前3
TiDB v5.1 DocumentationTiFlash_schema_error 363 7.6.2 TiFlash_schema_apply_duration 363 7.6.3 TiFlash_raft_read_index_duration 363 7.6.4 TiFlash_raft_wait_index_duration 364 ## 8 Troubleshoot 8.1 TiDB Troubleshooting Map 364 Execution Plans 621 10 Tutorials 652 10.1 Multiple Data Centers in One City Deployment 652 10.1.1 Raft protocol 652 10.1.2 Three DCs in one city deployment 653 10.2 Three Data Centers in Two Cities 2743 15.1 A ..... 2743 15.1.1 ACID ..... 2743 15.2 L ..... 2743 15.2.1 leader/follower/learner ..... 2743 15.3 O ..... 2743 15.3.1 Old value ..... 2743 15.3.2 Operator ..... 2744 15.30 码力 | 2745 页 | 47.65 MB | 2 年前3
TiDB v5.2 DocumentationTiFlash_schema_error 378 7.6.2 TiFlash_schema_apply_duration 378 7.6.3 TiFlash_raft_read_index_duration 378 7.6.4 TiFlash_raft_wait_index_duration 379 8 Troubleshoot 379 8.1 TiDB Troubleshooting Map 642 0 Tutorials ..... 676 10.1 Multiple Data Centers in One City Deployment ..... 676 10.1.1 Raft protocol ..... 676 10.1.2 Three DCs in one city deployment ..... 677 10.2 Three Data Centers in 2846 15.1 A ..... 2846 15.1.1 ACID ..... 2846 15.2 L ..... 2846 15.2.1 leader/follower/learner ..... 2846 15.3 O ..... 2846 15.3.1 Old value ..... 2846 15.3.2 Operator ..... 2847 15.30 码力 | 2848 页 | 47.90 MB | 2 年前3
TiDB v8.5 中文手册· · · · · · · · 1231 9.7.3 TiFlash_raft_read_index_duration · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1231 9.7.4 TiFlash_raft_wait_index_duration · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 1733 12.1.1 了解 Raft 协议 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2579 14.2.5 Partitioned Raft KV · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·0 码力 | 5095 页 | 104.54 MB | 1 年前3
TiDB v5.2 中文手册... 278 7.6.2 TiFlash_schema_apply_duration ..... 278 7.6.3 TiFlash_raft_read_index_duration ..... 278 7.6.4 TiFlash_raft_wait_index_duration ..... 279 故障诊断 ..... 279 8.1 慢查询日志 ..... 279 8 .... 440 9.3.4 控制执行计划 ..... 486 0 教程 ..... 506 10.1 同城多数据中心部署 TiDB ..... 506 10.1.1 了解 Raft 协议 ..... 506 10.1.2 同城三数据中心方案 ..... 507 10.2 两地三中心部署 ..... 512 10.2.1 简介 ..... 512 10.2.2 术语表 5 术语表 2257 15.1 A …… 2257 15.1.1 ACID …… 2257 15.2 L …… 2258 15.2.1 Leader/Follower/Learner …… 2258 15.3 O …… 2258 15.3.1 Old value …… 2258 15.3.2 Operator …… 2258 15.3.3 Operator Step0 码力 | 2259 页 | 48.16 MB | 2 年前3
共 230 条
- 1
- 2
- 3
- 4
- 5
- 6
- 23













