分类分类
大小:7.88 MB更新:2026-02-19
类别:其他网站源码系统:C/C++
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都支持多实例部署,部分实例异常不影响整个集群的可用性。
2.1、MDS
MDS是无状态的,推荐至少部署两个实例。通过Etcd进行选主。多个MDS实例通过Etcd进行选主,当单个实例失效时,可以秒级切换到另外一个实例。失效实例上正在处理的请求,Client和SnapShotCloneServer都会对其进行重试,以达到不影响集群可用性的效果。
2.2、SnapShotCloneServer
SnapShotCloneServer与MDS类似, 也是通过Etcd进行选主,不同的是,它通过负载均衡对外提供服务。失效期间的请求失败重试都是幂等的,不影响任务的正确性以及集群的可用性。
2.3、ChunkServer
ChunkServer是一个集群,通过Raft协议保持数据一致性,并通过MDS做负载均衡。单个节点失效时,会影响到这个节点上存储的所有Copyset。对于Copyset上的Leader节点,会中断服务,等待重新选举;对于Copyset上的follower节点,服务不会受影响。当某个Chunkserver节点失效且在一段时间内无法恢复,MDS会将其上的数据迁移到其他节点上。
同类推荐:站长常用源码
Screen to Gif 动画录制软件其他网站源码1.99 MBv2.41.12024-09-13
下载Dubbo服务框架其他网站源码5.66 MBv3.3.02024-09-13
下载开源向量数据库milvus其他网站源码5.98 MBv2.4.112024-09-13
下载DGIOT轻量级工业物联网开源平台其他网站源码8.33 MBv4.9.02024-09-13
下载nginx网页配置工具其他网站源码3.58 MBv4.2.42024-09-12
下载Highcharts图表库其他网站源码24.80 MBv11.4.82024-09-12
下载Countly移动分析应用其他网站源码26.67 MBv24.05.92024-09-12
下载Ant Design前端框架其他网站源码5.12 MBv5.20.62024-09-12
下载Memcached缓存系统其他网站源码644 KBv1.6.312024-09-12
下载WeUI微信UI库其他网站源码659 KBv2.6.162024-08-23
下载VvvebJs拖拽式自动生成网页其他网站源码1.13 MBv2.0.22024-08-23
下载ReactNative移动开发工具其他网站源码11.14 MBv0.75.22024-08-23
下载








