Minio设计原则
May 27, 2016
Minio 极简设计原则
特意设计
服务器和客户端几乎没有任何选项设置。例如Minio 客户端mc 提供ls,cp,sync,diff等类似操作系统提供的工具。这些命令在大多数操作系统下透明支持云和本地文件系统。提供了较为强大的功能比如控制台颜色输出,格式友好的数,透明校验,但没手册页面。
采用Golang
服务器和客户端都是用golang开发的。golang的好处多多。
数据不更改
Minio只用来存储不再改变的数据。比如图片,视频,文档,机器log,一旦生成,就不会再改变。没有必要实现功能丰富的posix/nfs/iscsi协议。Minio有意没去实现删除、重明白、附加写、重写等操作(注后来又实现了删除,但在纠错码实现中仍然没有支持删除)。所有应用程序需要调用的只是get/put/list等Http(s) API。并且实现成原子操作,要么失败,要么成功。
兼容s3标准对象API
服务器、客户端、SDK库支持Amazon S3 v4 API的子集。 类似IAM policy management, delete/rename and object versioning 等功能没有去实现。
简化许可
GNU GPLv3