Curve 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Curve 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
授权协议 Apache 2.0
开发语言 C/C++ 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 大数据数据存储
开发厂商 网易
地区 国产
提 交 者 大东BE
适用人群 未知
收录时间 2020-07-16

软件简介

CURVE 是网易开源的高性能、高可用、高可靠分布式存储系统,具有非常良好的扩展性。基于该存储底座可以打造适用于不同应用场景的存储系统,如块存储、对象存储、云原生数据库等。CURVE 的设计开发始终围绕三个理念:一是顺应当前存储硬件设施发展趋势,做到软硬件结合打造顶级的存储产品;二是秉持 “Simple Can be harder than complex”,了解问题本质情况下选择最简单的方案解决问题;三是拥抱开源,在充分调研的前提下使用优秀的开源项目组件,避免造轮子。

当前网易基于 CURVE 已经实现了高性能块存储系统,支持快照克隆和恢复 ,支持 QEMU 虚拟机和物理机 NBD 设备两种挂载方式, 在网易内部作为高性能云盘使用。

特性

1. 高性能

高性能是 CURVE 的一大特点,也是项目团队创建 CURVE 项目的初衷。RPC 层面 CURVE 采用了高性能和低延迟并且已开源的 brpc;在一致性层面选择了基于 quorum 机制并且开源的 braft,从协议层面来说 quorum 机制在延迟方面天生优于多副本强一致的方式。实现上 CURVE 对 braft 快照的实现进行了优化,在状态机的实现上采用 chunkfilepool 的方式 ( 初始化集群的时候格式化出指定比例的空间用作 chunk ) 使得底层的写入放大为 0;此外CURVE 还在 chunk 上进行更细力度的地址空间 hash 以达到读写分离、减小 IO 碰撞等的效果,从而进一步提升 IO 性能。

2. 高可用

高可用是 CURVE 的另一大特点。MDS、ChunkServer 以及 SnapShotCloneServer 都支持多实例部署,部分实例异常不影响整个集群的可用性。

  • MDS

    MDS 是无状态的,推荐至少部署两个实例。通过 Etcd 进行选主。多个 MDS 实例通过 Etcd 进行选主,当单个实例失效时,可以秒级切换到另外一个实例。失效实例上正在处理的请求,Client 和 SnapShotCloneServer 都会对其进行重试,以达到不影响集群可用性的效果。

  • SnapShotCloneServer

    SnapShotCloneServer 与 MDS 类似, 也是通过 Etcd 进行选主,不同的是,它通过负载均衡对外提供服务。失效期间的请求失败重试都是幂等的,不影响任务的正确性以及集群的可用性。

  • ChunkServer

    ChunkServer 是一个集群,通过 Raft 协议保持数据一致性,并通过 MDS 做负载均衡。单个节点失效时,会影响到这个节点上存储的所有 Copyset。对于 Copyset 上的 Leader 节点,会中断服务,等待重新选举;对于Copyset 上的 follower 节点,服务不会受影响。当某个 Chunkserver 节点失效且在一段时间内无法恢复,MDS 会将其上的数据迁移到其他节点上。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (1)

加载中
期待和ceph的横向对比测评
07/19 21:54
回复
举报
更多评论
发表于运维专区
07/16 18:27

网易开源分布式存储系统 Curve,性能可达 Ceph 1.84 倍

7月16日,网易公司旗下云服务商网易数帆宣布开源一款名为 Curve 的高性能分布式存储系统,官方称其性能可达 Ceph 的 1.84 倍。 据官方介绍,Curve 的定位是提供一个高性能、低延迟的存储底座,基于这个存储底座,企业可以打造适用于不同应用场景的存储系统,如块存储、对象存储、云原生数据库等。目前,网易数帆已经实现...

15
55
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于多媒体处理专区
2014/11/23 12:34

PCurve - Curve on Surface

PCurve - Curve on Surface eryar@163.com Abstract. 本文通过给出曲面上曲线PCurve的定义来对OpenCascade中的Curve On Surface进行理解,并介绍了OpenCascade对应的类BRep_CurveOnSurface实现。通过Tcl脚本输出的球的拓朴信息,分析PCurve的实际应用。 Key words. OpenCascade, ACIS, PCurve, Curve on Surface, Parame...

0
0
发表了博客
2018/06/06 15:07

Curve 曲线 工具

    最近研究了曲线绘制的工具,主要是2D方程的绘制。综合了许多工具,完成了一下两个脚本。 绘制的工具: 1 using UnityEngine; 2 using System.Collections; 3 using UnityEngine.UI; 4 5 public class Curve : MaskableGraphic 6 { 7 public Color color; 8 public float m_LineWidth =...

0
0
发表了博客
2015/10/26 13:31

Curve Mode功能解释

Curve Mode是ZBrush中比较重要的一个工具,它的主要功能有两个,本文小编将给大家简单介绍Curve Mode的功能以及它的笔刷有哪些。

0
0
发表于多媒体处理专区
2015/11/17 23:41

OPEN CASCADE Curve Continuity

OPEN CASCADE Curve Continuity eryar@163.com Abstract. 设计一条复杂曲线时,出于设计和制造上的考虑,常常通过多段曲线组合而成,这就需要解决曲线段之间如何实现光滑连接的问题。评价曲线间连接的光滑度的度量有两种:参数连接性和几何连续性。本文对这两种连续性分别进行介绍。 Key Words. Curve Continuity, Geome...

0
0
发表于多媒体处理专区
2015/11/13 20:07

OPEN CASCADE BSpline Curve Interpolation

OPEN CASCADE BSpline Curve Interpolation eryar@163.com Abstract. Global curve interpolation to point data is a way to construct curves. The paper focus on the interpolate algorithm in OPEN CASCADE, and give a simple example to demonstrate the usage of the GeomAPI_Interpolate class. Key Words. Int...

0
0
发表了博客
2019/11/10 11:00

模型评估 | Precision-Recall Curve

最近接手的一个项目,最后被要求给出查准率-查全率曲线(Precision-Recall Curve)以及曲线对应的查准率、查全率数值序列。查准率-查全率曲线以前使用不多,所以临时coding,算交了差。 概念 Precision-Recall Cur...

0
0
发表了博客
2019/07/25 16:07

[matlab工具箱] 曲线拟合Curve Fitting

——转载网络 我的matlab版本是 2016a 首先,工具箱如何打开呢? 在 apps 这个菜单项中,可以找到很多很多的应用,点击就可以打开具体的工具窗口 本文介绍的工具有以下这些: curve Fitting curve Fitting 一开始的界面是这样子的 其中下面这个部分是用来添加数据的,提供的选项是workspace中已经存在的变量 这里我提供一...

0
0
发表于AI & 大数据专区
08/16 15:54

ML——Learning-Curve

Hello, we will push the machine learning flashcard everyday! Please pay more attention to 数据科学实战!

0
0
发表于AI & 大数据专区
04/22 21:41

ML——Learning-Curve

1

0
0
发表于多媒体处理专区
2016/11/23 21:54

Convert BSpline Curve to Arc Spline in OpenCASCADE

Abstract. The paper based on OpenCASCADE algorithms to approximate the NURBS curve to arc spline. The method is most useful in numerical control to drive the cutter along straight line or circular paths. Or in the shipbuilding industry to manufacture section bar for cold frame bender....

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了问答
07/31 09:45

网易分布式存储项目 Curve 专访:凭什么比 Ceph 提升 84%?

大数据时代,分布式存储凭借其较低的拥有成本、灵活的扩展能力、线性增长的性能、统一的资源池管理等诸多先天优势,逐步替代了传统的网络存储,成为越来越多的互联网企业用于有效处理海量业务数据的利器。 在开源领域,目前比较主流的开源分布式存储系统无疑是 Linux 基金会旗下的 Ceph。而近日,网易宣布开源一款名为 ...

6
24
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
1 评论
257 收藏
分享
返回顶部
顶部