CURVE是网易自主设计研发的高性能、高可用、高可靠分布式存储系统,具有非常好的可扩展性。基于这个存储基础,可以针对不同的应用场景构建存储系统,比如块存储、对象存储、云原生数据库等。目前我们已经基于CURVE实现了高性能block 存储系统,支持快照克隆和恢复,支持QEMU虚拟机和物理机NBD设备,在网易作为高性能云盘使用。
软件介绍
Curve的设计开发始终围绕三个理念:一是顺应当前存储硬件设施的发展趋势,软硬件结合,打造顶级存储产品;第二,秉承“简单能比复杂难”,认识问题的本质,选择最简单的方案解决问题;第三,拥抱开源,在充分研究的前提下使用优秀的开源项目组件,避免做轮子。
目前网易已经实现了基于curve的高性能block 存储系统,支持快照克隆和恢复,支持QEMU虚拟机和物理机NBD设备。在网易作为高性能云盘使用。
软件特色
1、高性能
高性能是曲线的一个特点,也是项目组打造曲线项目的初衷。RPC曲线采用brpc具有高性能、低延迟和开源性;在一致性层面,选择了基于quorum机制和开源的braft。从协议层面来说,在延迟方面,quorum机制天生优于多副本强一致性。上曲线优化了braft快照的实现,状态机的实现采用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节点,服务将被中断,等待重选;对于副本集上的从节点,服务不会受到影响。当Chunkserver节点出现故障并且在一段时间内无法恢复时,MDS会将其数据迁移到其他节点。
CURVE(分布式存储系统)相关下载
- 查看详情Strapi(开源无头CMS)简体2022-12-05
- 查看详情Catfish(鲶鱼)CMS简体2022-11-29
- 查看详情Catfish(鲶鱼)Blog简体2022-11-29
- 查看详情 Strapi(开源无头CMS) 英文 2022-12-05
- 查看详情 Catfish(鲶鱼)CMS 简体 2022-11-29
- 查看详情 Catfish(鲶鱼)Blog 简体 2022-11-29
- 查看详情 Spring Boot 简体 2022-12-05
- 查看详情 Strapi(开源无头CMS) 英文 2022-12-05
- 查看详情 Data Masker for SQL Server(数据库工具) 英文 2022-12-05