国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【Java筆記】對象存儲(chǔ)服務(wù)MinIO

這篇具有很好參考價(jià)值的文章主要介紹了【Java筆記】對象存儲(chǔ)服務(wù)MinIO。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1 MinIO簡介

MinIO基于Apache License v2.0開源協(xié)議的對象存儲(chǔ)服務(wù),可以做為云存儲(chǔ)的解決方案用來保存海量的圖片,視頻,文檔。由于采用Golang實(shí)現(xiàn),服務(wù)端可以工作在Windows,Linux, OS X和FreeBSD上。配置簡單,基本是復(fù)制可執(zhí)行程序,單行命令可以運(yùn)行起來。

MinIO兼容亞馬遜S3云存儲(chǔ)服務(wù)接口,非常適合于存儲(chǔ)大容量非結(jié)構(gòu)化的數(shù)據(jù),例如圖片、視頻、日志文件、備份數(shù)據(jù)和容器/虛擬機(jī)鏡像等,而一個(gè)對象文件可以是任意大小,從幾kb到最大5T不等。

S3 ( Simple Storage Service簡單存儲(chǔ)服務(wù))

基本概念

  • bucket – 類比于文件系統(tǒng)的目錄
  • Object – 類比文件系統(tǒng)的文件
  • Keys – 類比文件名

官網(wǎng)文檔:http://docs.minio.org.cn/docs/

2 MinIO特點(diǎn)

  • 數(shù)據(jù)保護(hù)

    Minio使用Minio Erasure Code(糾刪碼)來防止硬件故障。即便損壞一半以上的driver,但是仍然可以從中恢復(fù)。

  • 高性能

    作為高性能對象存儲(chǔ),在標(biāo)準(zhǔn)硬件條件下它能達(dá)到55GB/s的讀、35GB/s的寫速率

  • 可擴(kuò)容

    不同MinIO集群可以組成聯(lián)邦,并形成一個(gè)全局的命名空間,并跨越多個(gè)數(shù)據(jù)中心

  • SDK支持

    基于Minio輕量的特點(diǎn),它得到類似Java、Python或Go等語言的sdk支持

  • 有操作頁面

    面向用戶友好的簡單操作界面,非常方便的管理Bucket及里面的文件資源

  • 功能簡單

    這一設(shè)計(jì)原則讓MinIO不容易出錯(cuò)、更快啟動(dòng)

  • 豐富的API

    支持文件資源的分享連接及分享鏈接的過期策略、存儲(chǔ)桶操作、文件列表訪問及文件上傳下載的基本功能等。

  • 文件變化主動(dòng)通知

    存儲(chǔ)桶(Bucket)如果發(fā)生改變,比如上傳對象和刪除對象,可以使用存儲(chǔ)桶事件通知機(jī)制進(jìn)行監(jiān)控,并通過以下方式發(fā)布出去:AMQP、MQTT、Elasticsearch、Redis、NATS、MySQL、Kafka、Webhooks等。

3 開箱使用

3.3.1 安裝啟動(dòng)

我們可以使用docker進(jìn)行環(huán)境部署和啟動(dòng)

docker run -p 9000:9000 --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
3.2 管理控制臺(tái)

假設(shè)我們的服務(wù)器地址為http://192.168.200.130:9000,我們在地址欄輸入:http://http://192.168.200.130:9000/即可進(jìn)入登錄界面。
【Java筆記】對象存儲(chǔ)服務(wù)MinIO,java,筆記,minio,對象存儲(chǔ)服務(wù)

Access Key為minio,Secret_key 為minio123(是在啟動(dòng)docker中啟動(dòng)minio容器時(shí)指定的賬號和密碼),進(jìn)入系統(tǒng)后可以看到主界面

【Java筆記】對象存儲(chǔ)服務(wù)MinIO,java,筆記,minio,對象存儲(chǔ)服務(wù)

點(diǎn)擊右下角的“+”號 ,點(diǎn)擊下面的圖標(biāo),可以創(chuàng)建一個(gè)桶

4 快速入門

4.1 創(chuàng)建工程,導(dǎo)入pom依賴

創(chuàng)建項(xiàng)目minio-demo,對應(yīng)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>heima-leadnews-test</artifactId>
        <groupId>com.heima</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>

引導(dǎo)類:

package com.heima.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);
    }
}

創(chuàng)建測試類MinIOTest ,上傳html文件

package com.heima.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.創(chuàng)建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創(chuàng)建的名詞一致
                    .stream(fileI	nputStream, fileInputStream.available(), -1) //文件流
                    .build();
            minioClient.putObject(putObjectArgs);

            System.out.println("http://192.168.200.130:9000/leadnews/ak47.jpg");
        } catch (Exception ex) {
            ex.printStackTrace();
        }
    }

}

文件上傳后的訪問地址:http://192.168.200.130:9000/leadnews/list.html

如果上傳后不能訪問,需要在管理端修改權(quán)限,"edit policy" -> "read and write"
【Java筆記】對象存儲(chǔ)服務(wù)MinIO,java,筆記,minio,對象存儲(chǔ)服務(wù)

5 整合Springboot

5.1 創(chuàng)建項(xiàng)目模塊 heima-file-starter
  1. 目錄結(jié)構(gòu)
    【Java筆記】對象存儲(chǔ)服務(wù)MinIO,java,筆記,minio,對象存儲(chǔ)服務(wù)

5.2 代碼實(shí)現(xiàn)

MinIOConfig.java配置類

package com.heima.file.config;

import com.heima.file.service.FileStorageService;
import io.minio.MinioClient;
import lombok.Data;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;


@Data
@Configuration
@EnableConfigurationProperties({MinIOConfigProperties.class})
//當(dāng)引入FileStorageService接口時(shí)
@ConditionalOnClass(FileStorageService.class)
public class MinIOConfig {

    @Autowired
    private MinIOConfigProperties minIOConfigProperties;

    @Bean
    public MinioClient buildMinioClient() {
        return MinioClient
                .builder()
                .credentials(minIOConfigProperties.getAccessKey(), minIOConfigProperties.getSecretKey())
                .endpoint(minIOConfigProperties.getEndpoint())
                .build();
    }
}

MinIOConfigProperties.java 配置屬性

package com.heima.file.config;


import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

import java.io.Serializable;

@Data
@ConfigurationProperties(prefix = "minio")  // 文件上傳 配置前綴file.oss
public class MinIOConfigProperties implements Serializable {

    private String accessKey;
    private String secretKey;
    private String bucket;
    private String endpoint;
    private String readPath;
}

工具類的接口FileStorageService .java

package com.heima.file.service;

import java.io.InputStream;

/**
 * @author itheima
 */
public interface FileStorageService {


    /**
     *  上傳圖片文件
     * @param prefix  文件前綴
     * @param filename  文件名
     * @param inputStream 文件流
     * @return  文件全路徑
     */
    public String uploadImgFile(String prefix, String filename,InputStream inputStream);

    /**
     *  上傳html文件
     * @param prefix  文件前綴
     * @param filename   文件名
     * @param inputStream  文件流
     * @return  文件全路徑
     */
    public String uploadHtmlFile(String prefix, String filename,InputStream inputStream);

    /**
     * 刪除文件
     * @param pathUrl  文件全路徑
     */
    public void delete(String pathUrl);

    /**
     * 下載文件
     * @param pathUrl  文件全路徑
     * @return
     *
     */
    public byte[]  downLoadFile(String pathUrl);

}

工具類具體實(shí)現(xiàn) MinIOFileStorageService.java

package com.heima.file.service.impl;


import com.heima.file.config.MinIOConfig;
import com.heima.file.config.MinIOConfigProperties;
import com.heima.file.service.FileStorageService;
import io.minio.GetObjectArgs;
import io.minio.MinioClient;
import io.minio.PutObjectArgs;
import io.minio.RemoveObjectArgs;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Import;
import org.springframework.util.StringUtils;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.text.SimpleDateFormat;
import java.util.Date;

@Slf4j
@EnableConfigurationProperties(MinIOConfigProperties.class)
@Import(MinIOConfig.class)
public class MinIOFileStorageService implements FileStorageService {

    @Autowired
    private MinioClient minioClient;

    @Autowired
    private MinIOConfigProperties minIOConfigProperties;

    private final static String separator = "/";

    /**
     * @param dirPath
     * @param filename  yyyy/mm/dd/file.jpg
     * @return
     */
    public String builderFilePath(String dirPath,String filename) {
        StringBuilder stringBuilder = new StringBuilder(50);
        if(!StringUtils.isEmpty(dirPath)){
            stringBuilder.append(dirPath).append(separator);
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");
        String todayStr = sdf.format(new Date());
        stringBuilder.append(todayStr).append(separator);
        stringBuilder.append(filename);
        return stringBuilder.toString();
    }

    /**
     *  上傳圖片文件
     * @param prefix  文件前綴
     * @param filename  文件名
     * @param inputStream 文件流
     * @return  文件全路徑
     */
    @Override
    public String uploadImgFile(String prefix, String filename,InputStream inputStream) {
        String filePath = builderFilePath(prefix, filename);
        try {
            PutObjectArgs putObjectArgs = PutObjectArgs.builder()
                    .object(filePath)
                    .contentType("image/jpg")
                    .bucket(minIOConfigProperties.getBucket()).stream(inputStream,inputStream.available(),-1)
                    .build();
            minioClient.putObject(putObjectArgs);
            StringBuilder urlPath = new StringBuilder(minIOConfigProperties.getReadPath());
            urlPath.append(separator+minIOConfigProperties.getBucket());
            urlPath.append(separator);
            urlPath.append(filePath);
            return urlPath.toString();
        }catch (Exception ex){
            log.error("minio put file error.",ex);
            throw new RuntimeException("上傳文件失敗");
        }
    }

    /**
     *  上傳html文件
     * @param prefix  文件前綴
     * @param filename   文件名
     * @param inputStream  文件流
     * @return  文件全路徑
     */
    @Override
    public String uploadHtmlFile(String prefix, String filename,InputStream inputStream) {
        String filePath = builderFilePath(prefix, filename);
        try {
            PutObjectArgs putObjectArgs = PutObjectArgs.builder()
                    .object(filePath)
                    .contentType("text/html")
                    .bucket(minIOConfigProperties.getBucket()).stream(inputStream,inputStream.available(),-1)
                    .build();
            minioClient.putObject(putObjectArgs);
            StringBuilder urlPath = new StringBuilder(minIOConfigProperties.getReadPath());
            urlPath.append(separator+minIOConfigProperties.getBucket());
            urlPath.append(separator);
            urlPath.append(filePath);
            return urlPath.toString();
        }catch (Exception ex){
            log.error("minio put file error.",ex);
            ex.printStackTrace();
            throw new RuntimeException("上傳文件失敗");
        }
    }

    /**
     * 刪除文件
     * @param pathUrl  文件全路徑
     */
    @Override
    public void delete(String pathUrl) {
        String key = pathUrl.replace(minIOConfigProperties.getEndpoint()+"/","");
        int index = key.indexOf(separator);
        String bucket = key.substring(0,index);
        String filePath = key.substring(index+1);
        // 刪除Objects
        RemoveObjectArgs removeObjectArgs = RemoveObjectArgs.builder().bucket(bucket).object(filePath).build();
        try {
            minioClient.removeObject(removeObjectArgs);
        } catch (Exception e) {
            log.error("minio remove file error.  pathUrl:{}",pathUrl);
            e.printStackTrace();
        }
    }


    /**
     * 下載文件
     * @param pathUrl  文件全路徑
     * @return  文件流
     *
     */
    @Override
    public byte[] downLoadFile(String pathUrl)  {
        String key = pathUrl.replace(minIOConfigProperties.getEndpoint()+"/","");
        int index = key.indexOf(separator);
        String bucket = key.substring(0,index);
        String filePath = key.substring(index+1);
        InputStream inputStream = null;
        try {
            inputStream = minioClient.getObject(GetObjectArgs.builder().bucket(minIOConfigProperties.getBucket()).object(filePath).build());
        } catch (Exception e) {
            log.error("minio down file error.  pathUrl:{}",pathUrl);
            e.printStackTrace();
        }

        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        byte[] buff = new byte[100];
        int rc = 0;
        while (true) {
            try {
                if (!((rc = inputStream.read(buff, 0, 100)) > 0)) break;
            } catch (IOException e) {
                e.printStackTrace();
            }
            byteArrayOutputStream.write(buff, 0, rc);
        }
        return byteArrayOutputStream.toByteArray();
    }
}

spring.factories 用于實(shí)現(xiàn)自動(dòng)注配置(autoConfiguration,原理與spring自動(dòng)配置相同)

org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
  com.heima.file.service.impl.MinIOFileStorageService
5.3 其他模塊使用文件上傳服務(wù)
  1. 項(xiàng)目結(jié)構(gòu)
    【Java筆記】對象存儲(chǔ)服務(wù)MinIO,java,筆記,minio,對象存儲(chǔ)服務(wù)

  2. 引入依賴

    <dependencies>
        <dependency>
            <groupId>com.heima</groupId>
            <artifactId>heima-file-starter</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
  1. 配置文件
minio:
  accessKey: minio
  secretKey: minio123
  bucket: leadnews
  endpoint: http://192.168.200.130:9000
  readPath: http://192.168.200.130:9000
  1. 啟動(dòng)類
package 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);
    }
}
  1. 測試代碼
package minio;

import com.heima.file.service.impl.MinIOFileStorageService;
import io.minio.MinioClient;
import io.minio.PutObjectArgs;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.io.FileInputStream;
import java.io.FileNotFoundException;

@SpringBootTest(classes = MinIOApplication.class)
@RunWith(SpringRunner.class)
public class MinIOTest {

    @Autowired
    private MinIOFileStorageService storageService;

    @Test
    public void testuploadImgFile(){
        FileInputStream fileInputStream = null;
        try {
            fileInputStream = new FileInputStream("D:\\testImg.jpg");

            String filePath = storageService.uploadImgFile("", "testImg.jpg", fileInputStream);
            System.out.println("filePath = " + filePath);

        } catch (FileNotFoundException e) {
            throw new RuntimeException(e);
        }
    }

}
  1. 效果

文件訪問地址http://192.168.200.130:9000/leadnews/2023/08/14/testImg.jpg
【Java筆記】對象存儲(chǔ)服務(wù)MinIO,java,筆記,minio,對象存儲(chǔ)服務(wù)
將根據(jù)上傳時(shí)的日期,生成目錄結(jié)構(gòu)。文章來源地址http://www.zghlxwxcb.cn/news/detail-646387.html

到了這里,關(guān)于【Java筆記】對象存儲(chǔ)服務(wù)MinIO的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 本地MinIO存儲(chǔ)服務(wù)通過Java程序結(jié)合Cpolar內(nèi)網(wǎng)穿透進(jìn)行遠(yuǎn)程連接

    本地MinIO存儲(chǔ)服務(wù)通過Java程序結(jié)合Cpolar內(nèi)網(wǎng)穿透進(jìn)行遠(yuǎn)程連接

    MinIO是一款高性能、分布式的對象存儲(chǔ)系統(tǒng),它可以100%的運(yùn)行在標(biāo)準(zhǔn)硬件上,即X86等低成本機(jī)器也能夠很好的運(yùn)行MinIO。它的優(yōu)點(diǎn)包括高性能、高可用性、易于部署和管理、支持多租戶等。 Cpolar內(nèi)網(wǎng)穿透提供了更高的安全性和隱私保護(hù),通過使用加密通信通道,Cpolar技術(shù)可以

    2024年01月21日
    瀏覽(51)
  • minio開源的對象存儲(chǔ)服務(wù)器安裝及使用

    minio開源的對象存儲(chǔ)服務(wù)器安裝及使用

    MinIO是一個(gè)開源的對象存儲(chǔ)服務(wù)器,設(shè)計(jì)用于實(shí)現(xiàn)高性能、可擴(kuò)展的云存儲(chǔ)。它兼容Amazon S3云存儲(chǔ)服務(wù)的API,因此可以與現(xiàn)有的S3兼容應(yīng)用程序進(jìn)行集成。 MinIO可以部署在本地服務(wù)器、私有云環(huán)境或公共云上,如AWS、Azure、Google Cloud等。它通過將數(shù)據(jù)分散在多個(gè)獨(dú)立節(jié)點(diǎn)上實(shí)現(xiàn)

    2024年02月08日
    瀏覽(25)
  • 學(xué)習(xí)筆記MinIo對象存儲(chǔ)-Docker分布式集群搭建踩坑!

    學(xué)習(xí)筆記MinIo對象存儲(chǔ)-Docker分布式集群搭建踩坑!

    ? MinIO 是一款基于Go語言的高性能對象存儲(chǔ)服務(wù),在Github上已有39K+Star。它采用了Apache License v2.0開源協(xié)議,非常適合于存儲(chǔ)大容量非結(jié)構(gòu)化的數(shù)據(jù),例如圖片、視頻、日志文件、備份數(shù)據(jù)和容器/虛擬機(jī)鏡像等。 本文將使用 MinIO 來自建一個(gè)對象存儲(chǔ)服務(wù)用于存儲(chǔ)圖片。 ? M

    2024年02月11日
    瀏覽(32)
  • ancos注冊中心、網(wǎng)關(guān)和靜態(tài)化freemarker、對象存儲(chǔ)服務(wù)MinIO

    ancos注冊中心、網(wǎng)關(guān)和靜態(tài)化freemarker、對象存儲(chǔ)服務(wù)MinIO

    1、docker安裝ancos Nacos 分布式注冊中心 ①:docker拉取鏡像 ②:創(chuàng)建容器 ③:訪問地址: http://192.168.200.130:8848/nacos 2、 網(wǎng)關(guān) 2.1 pom.xml文件導(dǎo)入依賴 2.2 創(chuàng)建微服務(wù)(搜索微服務(wù)、登錄微服務(wù)等) 啟動(dòng)類需要加上@EnableDiscoveryClient注解 bootstrap.xml 注意 :配置文件bootstrap.yml ,這里

    2024年02月15日
    瀏覽(19)
  • Docker部署MinIO對象存儲(chǔ)服務(wù)器結(jié)合Cpolar實(shí)現(xiàn)遠(yuǎn)程訪問

    Docker部署MinIO對象存儲(chǔ)服務(wù)器結(jié)合Cpolar實(shí)現(xiàn)遠(yuǎn)程訪問

    ?? 博客主頁 : 小羊失眠啦. ?? 系列專欄 : 《C語言》 《數(shù)據(jù)結(jié)構(gòu)》 《Linux》 《Cpolar》 ?? 感謝大家點(diǎn)贊??收藏?評論?? 前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到網(wǎng)站。 MinIO是一個(gè)開源的對象存儲(chǔ)服務(wù)器

    2024年02月05日
    瀏覽(27)
  • Docker部署MinIO對象存儲(chǔ)服務(wù)器結(jié)合內(nèi)網(wǎng)穿透實(shí)現(xiàn)遠(yuǎn)程訪問

    Docker部署MinIO對象存儲(chǔ)服務(wù)器結(jié)合內(nèi)網(wǎng)穿透實(shí)現(xiàn)遠(yuǎn)程訪問

    MinIO是一個(gè)開源的對象存儲(chǔ)服務(wù)器,可以在各種環(huán)境中運(yùn)行,例如本地、Docker容器、Kubernetes集群等。它兼容Amazon S3 API,因此可以與現(xiàn)有的S3工具和庫無縫集成。MinIO的設(shè)計(jì)目標(biāo)是高性能、高可用性和可擴(kuò)展性。它可以在分布式模式下運(yùn)行,以滿足不同規(guī)模的存儲(chǔ)需求。 MinIO是

    2024年02月04日
    瀏覽(30)
  • Docker本地部署MinIO對象存儲(chǔ)服務(wù)器結(jié)合Cpolar內(nèi)網(wǎng)穿透實(shí)現(xiàn)遠(yuǎn)程訪問

    Docker本地部署MinIO對象存儲(chǔ)服務(wù)器結(jié)合Cpolar內(nèi)網(wǎng)穿透實(shí)現(xiàn)遠(yuǎn)程訪問

    MinIO是一個(gè)開源的對象存儲(chǔ)服務(wù)器,可以在各種環(huán)境中運(yùn)行,例如本地、Docker容器、Kubernetes集群等。它兼容Amazon S3 API,因此可以與現(xiàn)有的S3工具和庫無縫集成。MinIO的設(shè)計(jì)目標(biāo)是高性能、高可用性和可擴(kuò)展性。它可以在分布式模式下運(yùn)行,以滿足不同規(guī)模的存儲(chǔ)需求。 MinIO是

    2024年02月04日
    瀏覽(26)
  • 開源對象存儲(chǔ)服務(wù)器MinIO本地部署并結(jié)合內(nèi)網(wǎng)穿透實(shí)現(xiàn)遠(yuǎn)程訪問管理界面

    開源對象存儲(chǔ)服務(wù)器MinIO本地部署并結(jié)合內(nèi)網(wǎng)穿透實(shí)現(xiàn)遠(yuǎn)程訪問管理界面

    MinIO是一個(gè)開源的對象存儲(chǔ)服務(wù)器,可以在各種環(huán)境中運(yùn)行,例如本地、Docker容器、Kubernetes集群等。它兼容Amazon S3 API,因此可以與現(xiàn)有的S3工具和庫無縫集成。MinIO的設(shè)計(jì)目標(biāo)是高性能、高可用性和可擴(kuò)展性。它可以在分布式模式下運(yùn)行,以滿足不同規(guī)模的存儲(chǔ)需求。 MinIO是

    2024年02月01日
    瀏覽(29)
  • Minio入門系列【5】JAVA集成Minio之存儲(chǔ)桶操作API使用詳解

    Minio入門系列【5】JAVA集成Minio之存儲(chǔ)桶操作API使用詳解

    官方文檔:https://min.io/docs/minio/kubernetes/upstream/index.html?ref=docs-redirect SDK:https://github.com/minio/minio-java Minio 提供了多種語言的SDK,比如java、go、python等。JAVA開發(fā)平臺(tái)可以選擇JS和java SDK,也就是前端和后端都可以直接集成minio。 每個(gè)OSS的用戶都會(huì)用到上傳服務(wù)。Web端常見的上傳

    2024年02月05日
    瀏覽(29)
  • 【分布式技術(shù)專題】「OSS中間件系列」Minio的文件服務(wù)的存儲(chǔ)模型及整合Java客戶端訪問的實(shí)戰(zhàn)指南

    【分布式技術(shù)專題】「OSS中間件系列」Minio的文件服務(wù)的存儲(chǔ)模型及整合Java客戶端訪問的實(shí)戰(zhàn)指南

    Minio的元數(shù)據(jù) 數(shù)據(jù)存儲(chǔ) MinIO對象存儲(chǔ)系統(tǒng)沒有元數(shù)據(jù)數(shù)據(jù)庫,所有的操作都是對象級別的粒度的,這種做法的優(yōu)勢是: 個(gè)別對象的失效,不會(huì)溢出為更大級別的系統(tǒng)失效。 便于實(shí)現(xiàn)\\\"強(qiáng)一致性\\\"這個(gè)特性。此特性對于機(jī)器學(xué)習(xí)與大數(shù)據(jù)處理非常重要。 數(shù)據(jù)管理 元數(shù)據(jù)與數(shù)據(jù)一起

    2024年02月11日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包