新一代云原生分布式存储d等 • 强一致性协议对异常的容忍较差 使用WARO一致性协议 • 所有副本写完成返回客户端 • 延迟取决于所有副本中最慢的那一个块存储场景 为云主机提供云盘,云盘提供随机读写、快照(数据备份,灾备使用)、镜像(模板,自定义)功能。块存储场景 为物理机提供块设备 Linux IO栈 应用程序 -> 文件系统 -> 块设备层 -> 不同协议/驱动使用中的问题 • io抖动(一致性协议):0 码力 | 29 页 | 2.46 MB | 6 月前3
Curve核心组件之snapshotclone对元数据增删改查 • 对数据增删改查 • 快照克隆服务器 • 快照 • 克隆快照和克隆的特点 • 快照的定义 快照是云盘数据在某个时刻完整的只读拷贝,是一种便捷高效的数据容灾手段, 常用于数据备份、制作自定义镜像、应用容灾等。 • 快照的特点 • 转储到s3对象存储 • 异步转储快照,底层使用copy-on-write技术,读写不影响转储 • 增量转储,第一次全量转储s3之后,后续只需转储增量部分0 码力 | 23 页 | 1.32 MB | 6 月前3
CurveFS方案设计这种方式相当于每次都是全量缓存当前元数据,不做增量快照,考虑到转储逻辑,这也是可以接受的 对比这两种方案,第一种方案对于copy场景是友好的,但需要重新实现一套快照逻辑;第二种方案的改动和实现相对简单,并且对于需要备份的场景也是够用的。从可解决程度和解决的必要性考虑,选择第二种方 案。 关键点 mds volume 文件空间管理 文件系统的元数据所在的copyset分配策略(前期可以考虑都分配到同一个copyset上)0 码力 | 14 页 | 619.32 KB | 6 月前3
MySQL 兼容性可以做到什么程度也从阿里巴巴的“去IOE”运动说起 业务驱动下的分布式技术实践之路 5月17日,支付宝最后一台小型 机下线标志去IOE落下帷幕 首次双十一大考卡顿半分钟后稳 定度过 7月,TDDL+AliSQL首次验证支 持核心库 无法弹性扩展 成本高 去 IOE 商品库去O TDDL首次双十一 “去IOE完成” 天价账单 上云 2009 2011 2012 2013 2013 2015 TDDL 同一连接串 已验证工具或系统 • MySQL Slave(change master) • DTS • Canal/CloudCanal • Maxwell • Debezium • Streamsets • mysql-binlog-connector-java • Flink CDC 性能指标 • 25w rps • 8GB 大事务 • 5s 延迟* 下一步 • 验证更多工具 支持 MySQL Change Master 指令 • 原生作为 MySQL 备库的能力 • 支持 PolarDB-X 之间数据同步 • 支持 DDL 同步 • 支持事务复制、行级复制 已验证工具或系统 • MySQL/MariaDB • PolarDB-X 性能指标 • 1.5w rps • 1s 延迟* 下一步 • 多流 • GTID事务并行复制 • 更多源端完全兼容0 码力 | 18 页 | 3.02 MB | 6 月前3
CurveFS S3本地缓存盘方案© XXX Page 1 of 9 Curvefs-S3 本地写缓存盘方案© XXX Page 2 of 9 背景 方案设计 主要数据结构定义 方案设计思考 POC验证 背景 当前,s3客户端在写底层存储的时候是直接写入远端对象存储,由于写远端时延相对会较高,所以为了提升性能,引入了写本地缓存盘方案。也即要写底层存储时,先把数据写到本地缓存硬盘,然后再把本地缓存 硬盘中的数据异步上传到远端对象存储。 如果客户端挂掉,那么写缓存盘中可能会有残留文件没有上传到对象存储;如果忘记处理,那么这些数据也就相当于是丢失了。 所以在客户端初始化建立的时候,可以先遍历写缓存目录,如果里面有文件,那么则上传到远端对象存储 POC验证© XXX Page 9 of 9 CacheWrite_->AsyncUploadRun(); char* buf = (char*)malloc(1024*4); memset(buf0 码力 | 9 页 | 150.46 KB | 6 月前3
Curve支持S3 数据缓存方案读写缓存分离 缓存层级 对外接口 后台刷数据线程 本地磁盘缓存 关键数据结构 详细设计 Write流程 Read流程 ReleaseCache流程 Flush流程 FsSync流程 后台流程 poc测试验证 背景 基于s3的daemon版本基于基本的性能测试发现性能非常差。具体数据如下: 通过日志初步分析有2点原因© XXX Page 3 of 9 1.append接口目前采用先从s3 get 更新元数据,清理DataCache缓存,DataCacheNum_减1。 5.遍历完一轮DataCache后,获取DataCacheNum值,如果不为0,则继续遍历,如果为0则回到1步骤。 poc测试验证 根据上述设计,完成初步daemon,测试结果如下图 目前看写性能有明显的提升,但时延仍然很高, 。 需要进一步分析0 码力 | 9 页 | 179.72 KB | 6 月前3
Curve质量监控与运维 - 网易数帆小需求(改动小)将实现思路记录到任务管理系统中(JIRA),即可进行开发; 大需求(新模块、复杂功能)需要输出独立设计文档,并进行评审;对于功能或 性能影响较大的功能,还需要进行POC验证;评审和验证通过后才能启动开发 工作。 小需求 实现思路 开发 大需求 设计文档 POC 开发 7/33设计文档规范 设计文档需要具备以下内容: 修订记录 审批记录 系统介绍0 码力 | 33 页 | 2.64 MB | 6 月前3
NJSD eBPF 技术文档 - 0924版本相关⼯作 • extFUSE • google android12 passthrough什么是eBPF • ebpf是不同环境下内核配置, 调试,监控⼯具 • map映射 • 验证器 • Hook • Helper api配置TCP Initial RTO • 场景 内核4.12之前 initial RTO是⼀个常数1s • 应⽤类型BPF_PROG_TYPE_SOCK_OPS0 码力 | 20 页 | 7.40 MB | 6 月前3
BRPC与UCX集成指南git –curve主干分支 –ucx_am当前rdma分支 ●对brcp的改动不大,加入的模块基本上独立 ●降低了开发难度 ●ucx满足我们对rdma支持的需求 ●已经测试通过了curve验证,取得了不错的性能提升66 Thank You!0 码力 | 66 页 | 16.29 MB | 6 月前3
curvefs client删除文件和目录功能设计实现简单,开发代价小,且后续可以增加metaserver端打开(session)等机制,向着moosefs的演进也是可以的。 我们的整个架构设计本身就类似chubao方式,这个方案本身是chubaofs的成熟方案,说明是已经被验证过是可行的方案。 缺点: 由于link、unlink等接口涉及跨服务器的两个请求的处理,可能会存在孤儿inode的问题,这一情况,chubaofs是通过运维手段去修复,见遗留问题。moosefs由于单mds,不存在这个问题。0 码力 | 15 页 | 325.42 KB | 6 月前3
共 10 条
- 1













