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
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 Step …… 2258 15.4 P …… 2258 15.4.1 Pending/Down …… 2258 15.5 R …… 2259 15.5.1 Region/Peer/Raft Group …… 2259 15.5.2 Region Split …… 2259 15.5.3 Restore …… 2259 15.6 S …… 2259 15.6.1 Scheduler0 码力 | 2259 页 | 48.16 MB | 2 年前3
Hyperledger Fabric 1.4 Documentationimplementations. The first is based on the etcd library [https://coreos.com/etcd/] of the Raft protocol [https://raft.github.io/raft.pdf]. The other is Kafka [https://kafka.apache.org/] (which uses Zookeeper [https://zookeeper patch release. ## Raft ordering service Introduced in v1.4.1, Raft [https://raft.github.io/raft.pdf] is a crash fault tolerant (CFT) ordering service based on an implementation of Raft protocol in etcd [https://coreos.com/etcd/]. Raft follows a “leader and follower” model, where a leader node is elected (per channel) and its decisions are replicated to the followers. Raft ordering services should be0 码力 | 701 页 | 9.02 MB | 2 年前3
PingCAP Infra Meeutp 申砾 82 What is New TiDBTools • What'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 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
Estimation of Availability and Reliability in CurveBS## Estimation of availability and reliability in CurveBS CurveBS uses the RAFT protocol to maintain consistency of stored data. It generally takes the form of 3 replicas of data. If one replica fails0 码力 | 2 页 | 34.51 KB | 1 年前3
Curve设计要点8e0fd1b2626578fba41c/p22_4.jpg) 测试环境:6台服务器*20块SATA SSD,E5-2660 v4,256G,3副本场景 ## 高性能 • quorum机制:raft • 轻量级快照 • io路径上的优化 • filepool落盘零放大 • 轻量级线性一致性读 • io路径上用户空间零拷贝 10卷4K随机读写IOPS  ## 高可用 chunkserver 使用raft, 2N + 1 个副本允许 N 副本异常  | 高可用 | 自治 | 易运维 | 高质量 04 近期规划 Curve的近期规划 ## 近期规划 ## • 性能优化 • 满足数据库性能要求 大io吞吐优化 • muti raft 性能优化 ## • 开源 系列技术分享 参与开发人员线上议题讨论会 ## 欢迎大家参与CURVE项目! . For information about currently available patch release. ### 2.2 Raft ordering service Introduced in v1.4.1, Raft is a crash fault tolerant (CFT) ordering service based on an implementation of Raft protocol in etcd. Raft follows a “leader and model, where a leader node is elected (per channel) and its decisions are replicated to the followers. Raft ordering services should be easier to set up and manage than Kafka-based ordering services, and their0 码力 | 483 页 | 7.48 MB | 2 年前3
Hyperledger Fabric 1.4 Documentation
implementations. The first is based on the etcd library [https://coreos.com/etcd/] of the Raft protocol [https://raft.github.io/raft.pdf]. The other is Kafka [https://kafka.apache.org/] (which uses Zookeeper [https://zookeeper patch release. ## Raft ordering service Introduced in v1.4.1, Raft [https://raft.github.io/raft.pdf] is a crash fault tolerant (CFT) ordering service based on an implementation of Raft protocol in etcd [https://coreos.com/etcd/]. Raft follows a “leader and follower” model, where a leader node is elected (per channel) and its decisions are replicated to the followers. Raft ordering services should be0 码力 | 678 页 | 10.02 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 step …… 2995 15.4 P …… 2995 15.4.1 pending/down …… 2995 15.5 R …… 2995 15.5.1 Region/peer/Raft group …… 2995 15.5.2 Region split …… 2996 15.5.3 restore …… 2996 15.6 S …… 2996 15.6.1 scheduler0 码力 | 2996 页 | 49.30 MB | 2 年前3
Real world Rust
- Why and how we use Rust in TiKV的类型推导系统和编译检查跨线程传递和共享的对象是否满足 Send + Sync ## TiKV - 大规模分布式 Key-Value 数据库 支持 ACID 跨行事务支持 支持 MVCC 无锁的快照读 构建于 Raft 之上,不依赖分布式文件系统 ☐ 更少的第三方依赖 ☐ 更高的性能(低延迟) - 配合 TiDB 使用, 需要有健全的逻辑实现 SQL 层的下推算子  ## TiKV 的前置需求 极高的性能要求,尽可能低延迟,而且延迟需要稳定 ● 设计分布式系统的逻辑,极其复杂 ☐ Raft ☐ Multi-Raft ☐ 分布式测试框架 和 C 的模块大量交互 • 开发人员和时间不足 ☐ 5人的团队,希望半年左右发布第一个可用版本 












