MinIO简介

MinIO基于Apache License v2.0开源协议的对象存储服务,可以做为云存储的解决方案用来保存海量的图片,视频,文档。由于采用Golang实现,服务端可以工作在Windows,Linux, OS X和FreeBSD上。配置简单,基本是复制可执行程序,单行命令可以运行起来。

MinIO兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小,从几kb到最大5T不等。

S3 ( Simple Storage Service简单存储服务)

基本概念

  • bucket – 类比于文件系统的目录
  • Object – 类比文件系统的文件
  • Keys – 类比文件名

官网文档:http://docs.minio.org.cn/docs/

1.1 MinIO特点

  • 数据保护

    Minio使用Minio Erasure Code(纠删码)来防止硬件故障。即便损坏一半以上的driver,但是仍然可以从中恢复。

  • 高性能

    作为高性能对象存储,在标准硬件条件下它能达到55GB/s的读、35GB/s的写速率

  • 可扩容

    不同MinIO集群可以组成联邦,并形成一个全局的命名空间,并跨越多个数据中心

  • SDK支持

    基于Minio轻量的特点,它得到类似Java、Python或Go等语言的sdk支持

  • 有操作页面

    面向用户友好的简单操作界面,非常方便的管理Bucket及里面的文件资源

  • 功能简单

    这一设计原则让MinIO不容易出错、更快启动

  • 丰富的API

    支持文件资源的分享连接及分享链接的过期策略、存储桶操作、文件列表访问及文件上传下载的基本功能等。

  • 文件变化主动通知

    存储桶(Bucket)如果发生改变,比如上传对象和删除对象,可以使用存储桶事件通知机制进行监控,并通过以下方式发布出去:AMQP、MQTT、Elasticsearch、Redis、NATS、MySQL、Kafka、Webhooks等。

1.2 开箱使用

1.2.1 安装启动

我们提供的镜像中已经有minio的环境

我们可以使用docker进行环境部署和启动

docker run -p 9000:9000 -p 9001:9001 --name minio -d --restart=always -e "MINIO_ACCESS_KEY=minio" -e "MINIO_SECRET_KEY=minio123" -v /home/data:/data -v /home/config:/root/.minio minio/minio server /data --console-address ":9000" --address ":9001"

1.2.2 管理控制台

假设我们的服务器地址为http://192.168.200.130:9000,我们在地址栏输入:http://http://192.168.200.130:9000/ 即可进入登录界面。

Access Key为minio Secret_key 为minio123 进入系统后可以看到主界面

点击右下角的“+”号 ,点击下面的图标,创建一个桶

1.3 快速入门

1.3.1 创建工程,导入pom依赖

创建minio-demo,对应pom如下

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>wolf-leadnews-test</artifactId><groupId>com.wolf</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>minio-demo</artifactId><properties><maven.compiler.source>8</maven.compiler.source><maven.compiler.target>8</maven.compiler.target></properties><dependencies><dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>7.1.0</version></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency></dependencies></project>

引导类:

package com.wolf.minio;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication
public class MinIOApplication {public static void main(String[] args) {SpringApplication.run(MinIOApplication.class,args);}
}

创建测试类,上传html文件

package com.wolf.minio.test;import io.minio.MinioClient;
import io.minio.PutObjectArgs;import java.io.FileInputStream;public class MinIOTest {public static void main(String[] args) {FileInputStream fileInputStream = null;try {fileInputStream =  new FileInputStream("D:\\list.html");;//1.创建minio链接客户端MinioClient minioClient = MinioClient.builder().credentials("minio", "minio123").endpoint("http://192.168.200.130:9000").build();//2.上传PutObjectArgs putObjectArgs = PutObjectArgs.builder().object("list.html")//文件名.contentType("text/html")//文件类型.bucket("leadnews")//桶名词  与minio创建的名词一致.stream(fileInputStream, fileInputStream.available(), -1) //文件流.build();minioClient.putObject(putObjectArgs);System.out.println("http://192.168.200.130:9000/leadnews/ak47.jpg");} catch (Exception ex) {ex.printStackTrace();}}}

对象存储服务MinIO相关推荐

  1. 轻量级对象存储服务minio安装及使用

    简介 Minio 是一个基于Apache License v2.0开源协议的对象存储服务,非常适合于存储大容量非结构化的数据,例如图片.视频.日志文件.备份数据和容器/虚拟机镜像等,而一个对象文件可以 ...

  2. 可视化的对象存储服务

    可视化的对象存储服务 MinIO简介 安装 MinIO Console使用 客户端使用 MinIO Client 常用命令 MinIO Client 安装及配置 MinIO Client 常用操作 兼 ...

  3. 对象存储搭建文件服务器,搭建分布式对象存储服务MinIO-单点模式

    # 搭建分布式对象存储服务 MinIO-单点模式 本文介绍开源的分布式对象存储服务 MinIO 的单点模式的搭建步骤.对象存储系统相比于传统的 NAS 文件系统有很多的优势,访问效率高.方便扩容,支持 ...

  4. MiniO对象存储服务 磁盘缓存快速入门 ​​​​​​​

    MiniO对象存储服务 磁盘缓存快速入门 这里的磁盘缓存功能是指使用缓存磁盘来存储租户常用的一些数据.例如,假设你通过gateway azure设置访问一个对象并下载下来进行缓存,那接下来的请求都会直 ...

  5. MinIO可视化的对象存储服务

    一.简介 平时做项目的时候,文件存储是个很常见的需求.这时候就会用到对象存储服务,平时可能会选择 OSS.AWS S3 这类第三方服务.今天带大家搭建一款自己的对象存储服务,带可视化管理,用起来也挺简 ...

  6. Minio 搭建对象存储服务

    文章目录 1 mino简介 2 环境 3 部署 3.1 获取程序 3.2 存储类别 3.3 挂载硬盘 3.4 单机部署 3.4.1 部署及测试 3.4.2 作为Linux Service启动 3.5 ...

  7. 自己搭建个对象存储服务难不难?

    今天小编就在欢快的编码,来了一个刚毕业的小嫩青,虚心求教到 对象存储服务到底有啥用? 说起这个对象存储服务,那家伙,那场面,那可是锣鼓喧天.鞭炮齐鸣 打住,打住,其实小编对于对象存储服务的理解是,为了 ...

  8. python分布式对象存储_推荐:一款分布式的对象存储服务

    最近公司在准备内部数据上云,并且内部数据库每天的数据量很大,需要采用大数据存储的方案. 方案调研 每个程序技术在实现之前,需要进行开源产品的调研,适合自己产品的技术方案才是最好的. 需求 我们需要处理 ...

  9. 如何使用阿里云国际对象存储服务自动备份

    异地备份是一项重要的安全措施.它们允许在发生硬件故障.意外删除或任何其他灾难性事件时还原数据.自动备份可提高备份过程的可靠性,并确保定期备份最近的数据. 有关阿里云国际对象存储服务自动备份的操作,今天 ...

最新文章

  1. USACO 1.4 Packing Rectangles
  2. Redis 5.0.3默认配置启动报错解决方法
  3. tomcat启动报错
  4. 5G NGC — PCF 策略控制功能
  5. linux shell ls 时间排序显示
  6. 用Python玩转微信的正确姿势!
  7. D2Admin 7月份更新内容:cli3以及更方便的全局控制等
  8. Spring Mvc中使用Task实现定时任务,以及遇到的一个问题
  9. js(function(){alert(‘’‘)})
  10. Simulink框图和S-函数
  11. 【JAVA实例】代码生成器的原理讲解以及实际使用
  12. 整理一下CCF推荐期刊会议(A类)
  13. 地理探测器软件下载与使用
  14. 输出dom对象的HTML,console 输出 DOM 对象
  15. Photoshop(4)做海报的心得
  16. 【校招VIP】前端专业课考点之tcp与udp
  17. 腾讯游戏扫码登录源码
  18. 常见的NoSQL数据库有哪些
  19. patch 和put的区别
  20. 软考信息系统监理师:2016年4月1日作业

热门文章

  1. Qt5.9获取Windows所有盘符(函数QFileInfoList QIr::drives())
  2. Python的pdfminer的字体下载
  3. vue 调用webservice_c#:WebService及其几种调用方式
  4. 如何开始人工智能之旅: 改弦更张不合算,别忽视既有平台
  5. 【机器学习】贝叶斯算法详解 + 公式推导 + 垃圾邮件过滤实战 + Python代码实现
  6. 离线安装snmp安装包修改snmp、syslog配置文件、创建审计员账号shell脚本(适用于centos 7.x 、redhat 7.x系列)
  7. ADSL上网密码破解记
  8. Android一键沉浸式状态栏(透明状态栏)
  9. 我的世界1.14刷雪机java版_我的世界全自动刷雪机图文攻略
  10. 链表逆序(反转链表)