途人软件园:纯净绿色软件游戏下载网站

电脑软件| 软件合集| 最近更新| 网站地图

当前首页:首页 > 电脑软件 > 编程开发 > CURVE(分布式存储系统)

CURVE(分布式存储系统)

CURVE(分布式存储系统)

类型:编程开发版本:v1.2.4官方版更新:2023-11-20 13:20:08大小:7.8M系统:WinAll语言:简体

CURVE是网易自主设计开发的高性能、高可用、高可靠的分布式存储系统,具有非常好的扩展性。基于这个存储基座,可以创建适合不同应用场景的存储系统,比如块存储、对象存储、云原生数据库等等。目前基于CURVE,我们实现了一个高性能的block 存储系统,支持快照克隆和恢复,QEMU虚拟机和物理机NBD设备,在网易作为高性能云盘使用。

软件介绍

curve的设计开发始终围绕三个理念:一是顺应当前存储硬件设施发展趋势,软硬件结合,打造顶级存储产品;二、坚持“简单能比复杂难”,在理解问题本质的情况下,选择最简单的方案解决问题;三是拥抱开源,在充分调研的前提下使用优秀的开源项目组件,避免做轮子。

目前网易已经实现了一个基于curve的高性能block 存储系统,支持快照克隆和恢复、QEMU虚拟机和物理机NBD设备,在网易作为高性能云盘使用。

软件特色

1、高性能

高性能是curve的一大特点,也是项目组创建curve项目的初衷。RPC层中的曲线采用brpc具有高性能、低延迟和开源性;在一致性层面,选择了基于quorum机制和开源的braft。从协议层面来说,在延迟方面,quorum机制天生优于多副本强一致性方法。Curve在实现上优化了braft snapshot的实现,状态机的实现采用chunkfilepool(初始化集群时,格式化指定比例的空间作为chunk使用),使底层写放大到0;此外,curve还对chunk进行更精细的地址空间哈希,达到读写分离、减少IO碰撞的效果,从而进一步提升IO性能。

2.高可用性

高可用性是curve的另一个主要特性。MDS、ChunkServer和SnapShotCloneServer都支持多实例部署,一些实例异常不影响整个集群的可用性。

2.1、MDS

MDS是无状态的,建议至少部署两个实例。通过Etcd选择母版。Etcd选择多个MDS实例,当单个实例出现故障时,可以在几秒钟内切换到另一个实例。客户端和SnapShotCloneServer都将在失败的实例上重试正在处理的请求,以达到不影响集群可用性的效果。

2.2、快照克隆服务器

SnapShotCloneServer类似于MDS,它也通过Etcd选择主机。不同的是,它通过负载均衡向外界提供服务。失效期间失败请求的重试是幂等的,不影响任务的正确性和集群的可用性。

2.3、ChunkServer

ChunkServer是一个集群,通过Raft协议维护数据一致性,通过MDS做负载均衡。当单个节点出现故障时,它将影响存储在该节点上的所有副本集。对于Copyset上的Leader节点,服务将被中断,等待重选;对于Copyset上的follower节点,服务不会受到影响。当Chunkserver节点出现故障并且在一段时间内无法恢复时,MDS会将该节点上的数据迁移到其他节点。

标签: 网站模板