精品为您呈现,快乐和您分享!

移动端

收藏本站

17软件园

当前位置: 首页 > 软件下载 > 编程开发

CURVE(分布式存储系统)v1.2.4官方版

CURVE(分布式存储系统)v1.2.4官方版

类型:编程开发 语言:简体

大小:7.8M 更新时间:2022-02-25

推荐指数:

应用简介


CURVE是网易自主设计开发的高性能、高可用、高可靠的分布式存储系统。它具有非常好的可扩展性。基于这个存储基础,可以构建适合不同应用场景的存储系统,比如块存储、对象存储、云原生数据库等。目前我们已经实现了基于CURVE的高性能块存储系统,支持快照克隆和恢复。









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



CURVE(分布式存储系统)



软件介绍



Curve的设计和研发始终围绕三个理念:一是顺应当前存储硬件设施的发展趋势,软硬件结合,打造一流的存储产品;其次,要坚持“简单比复杂更难”,了解问题的本质,选择最佳的解决方案。简单的解决方案解决问题;三是拥抱开源,在充分研究的前提下使用优秀的开源项目组件,避免重复发明轮子。



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



软件特点



1. 高性能



高性能是curve的一大特点,也是项目组打造curve项目的初衷。在RPC层面,curve采用高性能、低延迟的开源brpc;在一致性层面,它选择基于仲裁机制的开源Braft。从协议层面来说,仲裁机制在延迟方面本质上优于多副本强一致性方法。实现上,Curve对Braft快照的实现进行了优化,在状态机的实现中采用了ChunkFilePool方式(初始化集群时,将指定比例的空间格式化为Chunk),使得底层写放大为0;此外,curve还对chunk进行更详细的地址空间哈希,以达到读写分离、减少IO冲突等效果,从而进一步提升IO性能。



2、高可用



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



2.1.MDS



MDS是无状态的,建议至少部署两个实例。通过Etcd选择leader。通过Etcd选择多个MDS实例。当单个实例出现故障时,可以秒级切换到另一个实例。 Client 和SnapShotCloneServer 都会重试在失败的实例上处理的请求,以免影响集群可用性。



2.2.快照克隆服务器



SnapShotCloneServer 与MDS 类似,也是通过Etcd 选择master。不同的是它通过负载均衡的方式对外提供服务。过期期间请求失败重试是幂等的,不会影响任务的正确性和集群的可用性。



2.3.块服务器



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