【系列公开课】Curve核心团队深度解读:如何打造新一代超高性能分布式存储系统

7月16日,网易数帆宣布开源性能1.84倍于Ceph的新一代高性能分布式存储系统Curve,3个多月低调开发时间过去之后,Curve项目又成熟了不少。那么,Curve又有哪些新的技术进展?Curve独特的核心架构设计如何实现?其远超其他开源存储的性能优化是怎么做到的?未来Curve社区将会如何发展?接下来的1个多月,Curve核心开发团队将带来精心准备的Curve 新一代分布式存储技术系列公开课(直播+回放),每周五晚为大家揭开Curve技术的奥妙及Curve社区的规划,敬请关注!

【系列公开课】Curve核心团队深度解读:如何打造新一代超高性能分布式存储系统_第1张图片

课程概述

Curve 新一代分布式存储技术公开课将全面介绍Curve的总体设计,核心概念与流程,运维平台,分布式集群部署;并介绍Curve的测试体系、当前性能优化的方法。

适合人群

存储工程师,云计算架构师,运维工程师,软件工程师

课程安排

 

Curve 新一代分布式存储技术公开课(直播+回放)

时间

课程

讲师

10月30日 19:00-20:00

Curve:新一代分布式存储系统设计要点

李小翠,网易数帆资深系统开发工程师

11月06日 19:00-20:00

Curve核心组件之MDS元数据节点

陈威,网易数帆资深系统开发工程师

11月13日 19:00-20:00

Curve核心组件之ChunkServer数据节点

查日苏,网易数帆高级C++开发工程师

11月20日 19:00-20:00

Curve核心组件之Client客户端

吴汉卿,网易数帆高级C++开发工程师

11月27日 19:00-20:00

Curve快照克隆子系统SnapshotClone

许超杰,网易数帆资深系统开发工程师

12月04日 19:00-20:00

Curve监控、运维与质量体系

秦亦,网易数帆资深服务端开发工程师

 

学员收益

  1. 更加全面地了解Curve软件架构、设计思想、技术实现,感兴趣者可以更快速地参与社区工作;
  2. 深度了解Curve系统适用场景及其线上运维和使用,为将Curve开源平台应用于实际项目扫清障碍;
  3. 通过Curve的测试体系和性能优化方法,体会当前分布式系统设计、软件开发中的各种新思想、新技术。

讲师阵容

  • 李小翠,网易数帆资深系统开发工程师,多年分布式存储系统开发经验,参与建设网易自研Nefs和Curve的设计与开发,现负责Curve的研发和运营,致力于为网易的各个业务提供高可用、高性能、低成本的数据存储服务。
  • 陈威,网易数帆资深系统开发工程师,一直从事分布式存储相关工作,是网易数帆自研块存储NBS和自研分布式存储系统Curve的核心开发。
  • 查日苏,网易数帆高级C++开发工程师,自研分布式存储系统Curve的核心开发。
  • 吴汉卿,网易数帆高级C++开发工程师,自研分布式存储系统Curve的核心开发。
  • 许超杰,网易数帆资深系统开发工程师,自研分布式存储系统Curve的核心开发。
  • 秦亦,网易数帆资深服务端开发工程师,计算机系统结构博士,专注于分布式存储领域;曾参与华为FusionStorage分支项目,独立攻关天玑数据PhegData X数据存储云平台的后端存储引擎,现为Curve团队核心开发。

课程大纲

  • 【 Curve:新一代分布式存储系统设计要点】

    对Curve做一个总体的介绍,包括:
    • Curve出现的背景,为什么不基于已有的存储改造或直接使用已有存储,而是从0到1开发Curve。
    • Curve的总体设计,主要介绍软件基本架构,数据的组织形式,拓扑结构,以及总体的IO流程,其中IO的细节将在后面的系列讲座中介绍。
    • Curve的系统特性,主要介绍Curve在高性能(包括当前最新版本v1.1.0-beta的测试数据)、高可用、自治、易运维、高质量这几个方面是如何体现的以及它们的一些关键实现方式。
    • 最后会说明下Curve的近期规划,期待感兴趣的小伙伴加入我们。

 

  • 【Curve核心组件之MDS元数据节点】

    介绍Curve的元数据节点MDS,包括:
    • MDS总体介绍。
    • Topology模块,包括MDS管理的Curve拓扑结构,故障隔离等。
    • NameServer,用于保存Curve中文件和目录的层级结构以及分配信息等元数据。
    • Copyset,介绍Curve中Chunk的副本管理方式,Copyset的概念,生成方式,与Chunk和ChunkServer的关系等。
    • HeartBeat模块,介绍MDS如何通过心跳管理ChunkServer的在线状态,各个状态之间的转换方式等。
    • 调度模块Scheduler,介绍MDS如何通过调度实现系统的自动容错和负载均衡。

 

  • 【Curve核心组件之ChunkServer数据节点】

    介绍Curve的数据节点ChunkServer,包括:
    • ChunkServer整体架构,自顶向下介绍每个模块的功能。最上层是与其他模块交互的RPC层,最下层是EXT4文件系统。
    • ChunkServer的注册和心跳,详细介绍ChunkServer向MDS注册,并通过心跳与MDS交互的过程。
    • CopysetNode,介绍ChunkServer中的Copyset实例工作流程,与braft交互的方式(建议提前了解一下raft一致性协议)。举例介绍故障场景(坏盘)情况下的自动迁移和恢复,以及换盘后ChunkServer重新上线的流程。
    • DataStore模块,介绍ChunkServer中底层Chunk文件组织形式,ChunkFilePool介绍等
    • 新版本ChunkServer性能优化,介绍通过覆盖写减少WAL写放大的方案以及优化后的测试结果。

 

  • 【Curve核心组件之Client客户端】

    介绍Curve的客户端部分,包括:
    • Curve Client总体介绍。
    • Curve Client架构介绍,由哪些模块组成,以及各个模块的交互流程。
    • 元数据缓存及更新,介绍client端对MDS记录的元数据的缓存策略以及更新流程。
    • IO流程,介绍Client端收到来自上层的读写请求后的一系列流程,包括定位Chunk位置,IO切分,与ChunkServer通信等。
    • NEBD模块架构,介绍Curve client热升级模块NEBD的整体架构。
    • Curve Client热升级流程介绍。
    • 新版本Curve Client性能优化总结。

 

  • 【Curve快照克隆子系统SnapshotClone】

    介绍Curve快照克隆服务器,包括:
    • 快照克隆服务器整体架构。
    • Curve快照和克隆的特点。
    • 快照总体流程介绍,从用户触发快照开始,介绍每个阶段的流程。
    • 介绍ChunKServer端的快照机制,包括snap chunk的数据组织以及写时复制机制的实现。
    • 克隆总体流程介绍,从用户触发克隆卷开始,介绍每个阶段的流程。
    • 介绍ChunkServer端的克隆机制,包括clone chunk的数据组织与读时复制机制的实现。

 

  • 【Curve监控、运维与质量体系】

    介绍Curve使用的一些监控和运维方案以及质量控制方法。
    • 监控体系总体介绍。
    • 前端展示,结合例子展示怎样通过Grafana完成数据可视化。
    • 后端监控架构,介绍监控体系架构及各个组件之间的联系。
    • Curve metric介绍,介绍在Curve中怎样统计metric,使用了哪些类型的metric等。
    • 运维管理介绍,包括Curve上架标准,运维规范,应急预案等。
    • 运维工具介绍,包括curve-ansible部署工具,curve_ops_tool管理员工具等。
    • 日志管理,ELK日志平台展示。
    • 质量控制理论体系,介绍Curve的单元测试,集成测试和系统测试方法。
    • Curve流程控制,包括code review,CI检查等。

 

  • 直播地址:http://live.bilibili.com/22585337
  • 直播回放地址:Curve 新一代分布式存储技术公开课
  • 课件下载地址:待更新
  • Curve官网:https://opencurve.github.io/
  • Curve源码地址:https://github.com/opencurve/curve

你可能感兴趣的:(Curve,分布式存储,分布式,运维)