标签:
curve是网易开源的高性能、高可用、高可靠分布式存储系统,具有非常良好的扩展性。基于该存储底座可以打造适用于不同应用场景的存储系统,如块存储、对象存储、云原生数据库等。curve的设计开发始终围绕三个理念:一是顺应当前存储硬件设施发展趋势,做到软硬件结合打造顶级的存储产品;二是秉持“Simple Can be harder than complex”,了解问题本质情况下选择最简单的方案解决问题;三是拥抱开源,在充分调研的前提下使用优秀的开源项目组件,避免造轮子。
当前网易基于curve已经实现了高性能块存储系统,支持快照克隆和恢复 ,支持QEMU虚拟机和物理机NBD设备两种挂载方式, 在网易内部作为高性能云盘使用。
curve特性:
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会将其上的数据迁移到其他节点上。
加载全部内容
Godot游戏引擎 官方版53.12MB157人下载 Godot是一个全新开发的开源跨平台游戏引擎,其功能集类似知名的跨平台游戏引擎Unity,可用于开发PC、主机、移动和Web游戏。
下载右侧自动生成二维码和返回顶部代码 v1.091 KB117人下载网页自动生成可扫描二维码图,二维码内容为对应网页网址链接 支持所有静态和动态网页页面,生成二维码可用手机软件我查查、魔码、微信等软件利用手机摄像头扫描,即可实现手机
下载jquery v1.12.1 121 KB109人下载jQuery 是一个javascript 库,它有助于简化 javascript 以及 Asynchronous javascript + xml (Ajax) 编程。与类似的 javascript 库不同,jQuery 具有独特的基本原理,可以简洁地表示常见的复杂代码。学习 jQuery 基本原理,探索其
下载Scrapy Web爬虫框架 v1.3.0 1.19 MB109人下载Scrapy 是一套基于基于Twisted的异步处理框架,纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。
下载Ionicons开源图标集合 正式版1.53MB109人下载 Ionicons是一个完全开源的图标集,其中包含1100多个图标,这些图标是专为Web,iOS,Android和桌面应用程序而设计的。Ionicons是为Ionic Framework构建的,因此图标同时具有Material Design和iOS版本。
下载Vant移动端组件库22.08MB106人下载Vant 是一套轻量、可靠的开源移动端组件库。通过 Vant,可以快速搭建出风格统一的页面,提升开发效率。特性:1、60+ 高质量组件2、95% 单元测试覆盖率3、完善的中英文文档和示例4、支持按需引入5、支持主题定制6、支持国际化7、支持 TS8、支持 SSR建议搭配 webpack,babel 使用 Vant,这样可以使用 webpack 提供的丰富插件和个性化配置。Vant 支持了 babe
下载JPress v0.2 bulid0706 6.13 MB104人下载JPress,一个wordpress的java代替版本,使用JFinal开发。支持类似wordpress的几乎所有功能,比如:模板,插件等。同时在模板上,JPress提出了模板即模型的概念,方便模板制作人灵活制作业务模型,移除了widget等繁杂功能,同时在模板和插件制作上比wordpress
下载obs-studio实时流媒体和屏幕录制软件 最新版20.35 MB104人下载 OBS Studio 是一款用于实时流媒体和屏幕录制的软件,为高效捕获,合成,编码,记录和流传输视频内容而设计,支持所有流媒体平台。
下载CSerialPort跨平台串口类库 最新版4.26MB104人下载 CSerialPort是一个基于C++的轻量级开源跨平台串口类库,可以轻松实现跨平台多操作系统的串口读写。
下载QtScrcpy81.58MB104人下载QtScrcpy可以通过USB(或通过TCP/IP)连接Android设备,并进行显示和控制。不需要root权限。单个应用程序最多支持16个安卓设备同时连接。同时支持GNU/Linux,Windows和MacOS三大主流桌面平台。主要功能:1、实时显示Android设备屏幕2、实时键鼠控制Android设备3、屏幕录制4、截图为png5、无线连接6、最多支持16台设备连接(PC性能允许的情况下可以
下载