博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
minio对象存储原理_使用Minio最小化对象存储
阅读量:2529 次
发布时间:2019-05-11

本文共 1780 字,大约阅读时间需要 5 分钟。

minio对象存储原理

在2007年, 彻底改变了跨组织实施大型分布式存储解决方案的方式-现在任何人都可以使用商品硬件为使用GlusterFS的媒体流,数据分析和其他数据密集型任务创建分布式存储解决方案。 红帽在2011年 GlusterFS。最近,GlusterFS的创始人之一Anand Babu Periasamy宣布了一个新的开源项目 。 Minio旨在使应用程序开发人员能够构建自己的云存储。 我最近采访了Anand Babu,以了解有关Minio的更多信息。

Minio路线图

Minio是云存储的另一种形式。 Minio的目标是使应用程序开发人员能够构建自己的存储云,就像Amazon,Google和Facebook开发自己的专有云存储一样。

现代应用程序必须处理大量数据。 数据库设计用于存储和查询元数据。 在存储数据本身时,云存储已成为应用程序开发人员的首选。 有用于文档存储的MongoDB,用于JavaScript运行时的Node.js,用于HTML框架的Angular,以及Minio旨在填补对象存储的空白。

Minio基于客户端-服务器模型。 对象存储客户端实用程序mc和库(Node.js,Go和Java)已准备好用于生产。 与Amazon S3云存储服务兼容,Minio将使用户能够将大量数据移入和移出云存储。 mc提供了与Unix ls-,cp-和rsync-like相同的命令,这些命令可用于本地磁盘和云存储。

服务器的独立版本当前可供下载。 它支持内存中,文件系统和Donut(擦除存储)后端。 服务器的托管版本,用于测试和开发。

服务器,操作和用户控制台的分布式版本正在开发中,大约6到12个月内,应完成堆栈。

和Golang一起去

Minio使用Go,它与Java类似,但没有JVM依赖性。 Go的通道和goroutine使其适合编写可伸缩的高性能服务器。 Go的一大亮点是消除了对软件包管理的需求。 Go代码编译为单个静态二进制文件; 只需将其复制到任何地方即可运行。

Go固执己见,并受到Google用例的很大影响,但Minio不介意继承Google构建基础设施软件的方式。 Go还不如Java成熟,在工具和垃圾回收方面仍然有些粗糙。 但是,Go已准备好开发生产级软件。 Go 1.5的下一版本实现了有效的并发垃圾回收并解决了工具问题。

在采用Golang之前,已考虑了多种选择:

  • C ++和Google V8 JavaScript:Minio是C ++和V8的原型。 JavaScript带来了通过网络发送代码和连续修补实时系统的功能。 之所以放弃它,是因为V8 C ++ API不必要地复杂。 Minio团队也不想继承JavaScript的限制。

  • C ++和Mozilla SpiderMonkey:与Google V8相比,SpiderMonkey的性能并驾齐驱,其API也更加简洁。 但是,由于JavaScript的限制,SpiderMonkey被解雇了。

  • Java:Java是成熟且快速的。 关于Java的一切都很棒,除了其过分的JVM依赖性。

  • Haskell:如果为内部使用而编写,Haskell将是Minio的首选。 不幸的是,Haskell没有得到开发人员社区的足够重视。

  • Rust:Rust是一种强大的现代语言,如果没有Golang,Rust将是第二选择。 Rust非常适合诸如数据库引擎,事务服务器和Internet浏览器之类的项目。 实现对象存储相对简单,不需要Rust。

  • C和Python:C功能强大,Python编写代码很有趣,但是C是原始语言,Python更适合DevOps。

  • C和GNU Guile:此选项用于GNU FreeIPMI和GNU Freetalk; 计划很棒,但是社区采用率有限。

为Minio做贡献

Minio的目标是在6到12个月的时间内完成整个堆栈的开发,因此现在是加入社区并影响其方向的好时机。 您可以通过以下方法为Minio做出贡献:

  • :Minio社区在Gitter上闲逛,这类似于IRC。

  • :Minio的所有代码都在GitHub上公开开发。

  • :请遵循本指南来设置开发环境。 由于Go代码看起来很像C或Java,因此入门很容易。

翻译自:

minio对象存储原理

转载地址:http://nspzd.baihongyu.com/

你可能感兴趣的文章
C#检测驱动是否安装的问题
查看>>
web-4. 装饰页面的图像
查看>>
微信测试账户
查看>>
Android ListView上拉获取下一页
查看>>
算法练习题
查看>>
学习使用Django一 安装虚拟环境
查看>>
Hibernate视频学习笔记(8)Lazy策略
查看>>
CSS3 结构性伪类选择器(1)
查看>>
IOS 杂笔-14(被人遗忘的owner)
查看>>
自动测试用工具
查看>>
前端基础之BOM和DOM
查看>>
[T-ARA/筷子兄弟][Little Apple]
查看>>
编译Libgdiplus遇到的问题
查看>>
【NOIP 模拟赛】Evensgn 剪树枝 树形dp
查看>>
java学习笔记④MySql数据库--01/02 database table 数据的增删改
查看>>
两台电脑如何实现共享文件
查看>>
组合模式Composite
查看>>
程序员最想得到的十大证件,你最想得到哪个?
查看>>
我的第一篇CBBLOGS博客
查看>>
【MyBean调试笔记】接口的使用和清理
查看>>