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
SOFAMesh的通用协议扩展## SOFA MESH 的通用协议扩展 邵俊雄(熊啸) 2018.08.25 ## AGENDA • SOFA MESH 介绍 • SERVICE MESH 落地的问题 • SOFA MESH 的通用落地方案 • DNS 服务寻址方案 • X-PROTOCOL 通用协议 · 问答 ## SOFA MESH • 从 ISTIO 克隆并保持同步更新 - 使用 SOFA-MOSN 代替 Controller Pattern 通过 CRD 扩展新的能力 ## MESH 落地碰到的问题 • 客户端服务发现与负载均衡无法与 ISTIO 一起工作 • ENVOY 不支持微服务使用的通信协议 - RPC 服务使用的接口,方法,参数语义无法匹配 ISTIO 的路由模型 • 一个应用上部署了多个 RPC 服务,每个服务有自己的版本 ## I STIO 控制平面路由的抽象模型 VirtualHost 服务的路由规则 XDS 适配 • 开发 DUBBO 协议支持 ## SOFA MESH 的统一解决方案 • 采用 Kubernetes Native 方式落地微服务应用 • 使用 INTERFACE 作为 DNS 来寻址服务 • 开发一个通用协议处理框架 - 避免为不同的微服务框架修改 PILOT 代码 • 通过插件的方式按需支持新的协议 • 对应用代码无侵入性 • 为微服务框架提供轻量化客户端0 码力 | 28 页 | 4.73 MB | 1 年前3
高可用与一致性:构建强一致性分布式数据库 TiDB-沈泰宁## 构建强一致性分布式数据库 TiDB 沈泰宁 R & D Engineer @ PingCAP ## 极客时间 | 企业服务 ## 想做团队的领跑者 需要迈过这些“槛” 成长型企业,易忽视人才体系化培养企业转型加快,团队能力又跟不上 团队成员技能水平不一, 难以一“敌”百人需求 寻求外部培训,奈何价更高且集中式学习 学习效果难以统计,产生不良循环 VS VS VS Machine $$ A = 1 \quad B = 2 $$ Raft Module State Machine $$ \begin{array}{c|c} A = 1 \\ B = 2 \end{array} $$ Raft Module State Machine $$ A = 1 \quad B = 2 $$ Raft Module Log $$ A = 1 \quad \quad B = 2 $$ Log $$ A = 1 \quad B = 2 $$ Log $$ A = 1 \quad B = 2 $$ ## Raft: Key Points •Leader election • Voting for leader • Network isolation/node failure tiggers election ## •Log replication0 码力 | 45 页 | 4.63 MB | 2 年前3
Greenplum分布式事务和两阶段提交协议## Greenplum分布式事务 和两阶段提交协议 钉钉直播 | 10月21日 20:00 - 21:00 #### Greenplum中文社区 https://cn.greenplum.org 博文·资料·文档·项目 ## 全新的问答论坛 #### https://cn.greenplum.org/askgp ## GREENPLUM DATABASE $ ^{®} $  ## 大纲 • 离 数据一致性的起因 • 合 数据一致性的解决方案 • 断 方案选择建议 ## 离 数据一致性的起因  ## 单体应用 • 单体应用由于所有模块(A/B/C)使用同一个数据库 • 数据一致性通过数据库事务保证  ## 微服务场景 ## 数据一致性无法完全通过数据库保证 离 独立进程  独立部署 独立技术 独立团队 MongoDB Cassandra ## 合 数据一致性的解决方案 ## Saga • 1987年Hector & Kenneth 发表论文 Sagas • Saga = Long Live Transaction (LLT) • LLT =0 码力 | 31 页 | 4.28 MB | 2 年前3
在Solana合约链实现IBC协议跨链互操作 - 苏胤榕2023 第三届中国Rust开发者大会 6.17-6.18 @Shanghai ## SOLANA ## 在Solana合约链 实现IBC协议跨链互操作 @DaviRain ## 简单介绍下IBC协议是什么,及其生态 ## 介绍IBC协议和其在跨链互操作中的作用 ## I nterchain Standards |Number of Trees|Number of Trees |---| IBC协议中的角色和参与者 1. 客户端 2. 连接 3. 通道 4. 包 4. 中继器 ## 解释为什么选择在Rust合约链中实现IBC协议 - IBC协议的核心已经被协议核心团队用Rust语言实现。 - 对于本身就是使用Rust语言作为智能合约开发的区块链平台来说,支持集成支持IBC协议会很方便。 - 这里优先构想了在Solana链上实现IBC协议,因为Solana - 以及本人对Solana平台的喜欢,优先考虑了Solana平台,但是这套方案是可以推广到任何的Rust智能合约平台的。 ## < / IBC协议概述 大致讲解下IBC协议的原理,以及参与整个IBC协议活动的不同决策 ## 详细介绍IBC协议的基本概念和原理 GreenplumIstio七层协议扩展服务发现流量管理模型xDS协议Rust HTTP协议栈终端通信场景Ylong HTTP客户端库异步IO状态机分布式存储系统CurveBSCurveFSRAFT一致性协议云原生支持微服务数据一致性强一致最终一致Saga模式IBC协议跨链互操作Solana合约链Rust语言IBC协议实现RAFT协议副本故障率恢复时间













