欢迎关注公众号 《小姐姐味道》 ,一起进步!

# 有了MinIO,你还会用FastDFS么?

不羡鸳鸯不羡仙,一行代码调半天。原创:小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。

最近看到ReadHat在搞Ceph的培训,而且是收费的,真的是吓了一跳。难道真要搞这么复杂这么强大的存储方案么?有了MinIO,我知道我永远和Ceph无缘了。

再说FastDFS。为什么我讨厌FastDFS,其实不是因为它不好用,也不是因为它部署困难,最大的原因就是它的名字。什么东西加个Fast就变味了,比如:fast boy

开个玩笑,FastDFS还是伴随了我们很多岁月的。而且,Minio的min也不是什么谦虚的词。

撸完一遍FastDFS,感觉真是日了狗了。部署是贼麻烦,而且它的SDK是不全的,文档也是各处飞。在了解了MinIO之后,终于可以扔掉FastDFS了,真心高兴。

MinIO是apache项目,有着贵族血统,骄傲不失风范。它拥有着较高的性能,而且100%兼容s3。

什么意思呢?**如果你是私有云,搭建一套s3,就相当于拥有了aws最先进的s3存储。**它最适合存储非结构化数据,如照片,视频,日志文件,备份和容器/ VM 映像。 对象的大小可以从几 KB 到最大 5TB。很多商业公司背地里拿MinIO做开发,改吧改吧界面,最后说是自己做的,结果把掉一层皮后,发现就是MinIO。

更重要的是,它与现在的虚拟技术,如k8sk3s、etcd、docker等深度集成,可以说就是为了云环境而生的。再也不用在虚拟环境调试那些恶心人的配置文件了。Minio主要为人工智能、机器学习而设计,并适用于其他大数据负载。从架构与功能方面考虑,Minio是一个比较好的开源对象存储解决方案。

说到这里你或许能够猜到,这家伙是用go写的。使用go写的应用,干干净净就一个运行程序,看着就清爽。就像SpringBoot打成一个jar包那样清爽。

安装多简单?请看官方gif。

simplicity

minio有中文文档,见:https://docs.min.io/cn/ 。内容很全,从安装到原理,一应俱全。

接下来我们稍微看一下最关心的高可用。Minio采用了纠删码技术,即便您丢失一半数量(N/2)的硬盘,您仍然可以恢复数据。Minio在分布式和单机模式下,所有读写操作都严格遵守read-after-write一致性模型。这个也难怪,对象存储都是存的比较大的数据,写入耗时比协调耗时要长的多,这就没必要使用类似Raft或者Paxos一样的复杂协调机制。

这是启动之后的访问界面,可以看到非常清爽的界面。可以说是一清二白,如果你想要做一些自定义的售卖,只需要开发一层皮即可。

-w927

在使用方面,这个就和s3非常像了。事实上,你甚至可以使用s3cmd来操作Minio。可以看下这些基本命令,会Linux的应该一点压力都没有。

ls       列出文件和文件夹。
mb       创建一个存储桶或一个文件夹。
cat      显示文件和对象内容。
pipe     将一个STDIN重定向到一个对象或者文件或者STDOUT。
share    生成用于共享的URL。
cp       拷贝文件和对象。
mirror   给存储桶和文件夹做镜像。
find     基于参数查找文件。
diff     对两个文件夹或者存储桶比较差异。
rm       删除文件和对象。
events   管理对象通知。
watch    监听文件和对象的事件。
policy   管理访问策略。
session  为cp命令管理保存的会话。
config   管理mc配置文件。
update   检查软件更新。
version  输出版本信息。

SDK方面,提供了Java、JavaScript、Python、Golang、.Net等各种语言的sdk,集成变的更加容易。

其他的就不啰嗦了,中文文档的内容很全。文件服务很多,比如ceph、swift、hbase、hdfs、glusterfs,甚至是mongo等,相比较而言,Minio可以说是最好用的了。其实,Minio的作者,就是glusterfs的创始人。后者在2011年被红帽收购。

就像是MySQL被Oracle收购之后,又出来了Mariadb。你可能觉得公司亏了,但大公司根本不缺这点钱,收购并不一定是想要建设,他们只是想要消灭前进路上的一些威胁而已。

作者简介:小姐姐味道 (xjjdog),一个不允许程序员走弯路的公众号。聚焦基础架构和Linux。十年架构,日百亿流量,与你探讨高并发世界,给你不一样的味道。我的个人微信xjjdog0,欢迎添加好友,​进一步交流。​


关注回复 技术 关键字 ,即可 获取 海量资源

鲁ICP备2020043359号-1