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会将该节点上的数据迁移到其他节点。
CURVE(分布式存储系统)相关下载
- 查看详情Catfish(鲶鱼)Blog简体2023-11-17
- 查看详情减肥瘦身促销专题网页模板简体2023-11-09
- 查看详情EmpireCMS(帝国CMS点卡充值插件)简体2023-10-24
- 查看详情宝宝用品网站韩国网页模板简体2023-10-24
- 查看详情韩国商业公司网页模板简体2023-10-21
- 查看详情 Catfish(鲶鱼)Blog 简体 2023-11-17
- 查看详情 减肥瘦身促销专题网页模板 简体 2023-11-09
- 查看详情 EmpireCMS(帝国CMS点卡充值插件) 简体 2023-10-24
- 查看详情 宝宝用品网站韩国网页模板 简体中文 2023-10-24
- 查看详情 韩国商业公司网页模板 简体中文 2023-10-21
- 查看详情 海龟编辑器(Python编辑器) 简体 2023-11-20
- 查看详情 火花编程 简体 2023-11-20
- 查看详情 DataStudio(数据库管理工具) 简体 2023-11-20