spring boot项目配置使用minion

一. Minio概述

Minio是一款开源的高性能对象存储服务,兼容Amazon S3 API,适用于私有云、混合云及边缘计算场景。它采用分布式架构设计,支持水平扩展,提供数据加密、版本控制、生命周期管理等企业级功能,适用于存储非结构化数据(如图片、视频、日志等)。

核心特性

  • S3兼容:完全兼容Amazon S3 API,现有S3工具可直接对接。
  • 高性能:基于Golang编写,优化了并发和吞吐量,适合高负载场景。
  • 分布式部署:支持Erasure Code(纠删码)技术,实现数据冗余和恢复。
  • 轻量级:单二进制文件部署,资源占用低,适合容器化(如Docker、Kubernetes)。
  • 安全性:支持TLS加密、客户端加密、IAM策略及审计日志。

部署模式

  • 单机模式:快速部署用于测试或开发,无冗余能力。
  • 分布式模式:多节点集群部署,数据自动分片和冗余,保障高可用。

使用场景

  • 大数据存储:与Hadoop、Spark等大数据工具集成。
  • 备份与归档:结合生命周期策略自动管理数据。
  • 云原生应用:为Kubernetes提供持久化存储解决方案。
  • CDN源站:存储静态资源并通过API快速分发。

技术优势

  • 纠删码技术:数据自动分片并分散存储,即使部分节点故障仍可恢复,冗余度可配置。
  • 加密与安全:支持客户端加密(SSE-C)、服务器端加密(SSE-S3)和传输加密(TLS)。
  • 监控与日志:集成Prometheus、Grafana等工具,提供实时监控和日志分析能力。

快速安装示例(Linux)

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
./minio server /data

访问http://localhost:9000并使用默认凭据(用户名minioadmin,密码minioadmin)登录管理界面。

与其他存储方案对比

  • vs Ceph:Minio更轻量,配置简单,适合中小规模;Ceph功能更全但复杂度高。
  • vs NAS:Minio通过对象存储接口提供更高扩展性,NAS适合文件级访问。

Minio适合需要简单、高性能S3兼容存储的场景,开源版本满足多数需求,企业版提供额外支持和服务。

二. 添加依赖

		<dependency><groupId>io.minio</groupId><artifactId>minio</artifactId><version>8.5.10</version></dependency>

三. application.yml配置

minio:endpoint: http://localhost:9000access-key: ${MINIO_ACCESS_KEY:root}secret-key: ${MINIO_SECRET_KEY:123456}bucket-name: fusionconnect-timeout: 3000socket-timeout: 15000

四. 创建MinioConfig文件

/*** MinIO存储服务配置类* <p>* 该类用于配置MinIO客户端连接参数,并在初始化时自动创建存储桶(如果不存在)* 并设置存储桶的公共读访问策略。配置属性通过`minio`前缀绑定到应用配置。* * 示例配置:*   minio.endpoint=http://localhost:9000*   minio.accessKey=minioadmin*   minio.secretKey=minioadmin*   minio.bucketName=my-bucket*/
@Data
@AllArgsConstructor
@NoArgsConstructor
@Component
@Validated
@ConfigurationProperties(prefix = "minio")
public class MinioConfig {/** MinIO服务地址 */private String endpoint;/** 访问密钥 */private String accessKey;/** 秘密密钥 */private String secretKey;/** 存储桶名称 */private String bucketName;/** 连接超时时间(毫秒),默认3000 */private int connectTimeout = 3000;/** 套接字超时时间(毫秒),默认15000 */private int socketTimeout = 15000;/*** 初始化MinIO存储桶* <p>* 在Bean初始化后执行,主要完成以下操作:* 1. 创建MinIO客户端实例* 2. 检查配置的存储桶是否存在,不存在则创建* 3. 设置存储桶的公共读访问策略* * @throws Exception 当连接MinIO失败或操作异常时抛出*/@PostConstructpublic void initializeBucket() throw

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/87570.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/87570.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

<5>_Linux进程控制

目录 一&#xff0c;进程创建&#xff0c;fork/vfork 1&#xff0c;fork创建子进程&#xff0c;操作系统都做了什么 2&#xff0c;写时拷贝的做了什么 二&#xff0c;进程终止&#xff0c;echo $&#xff1f; 1&#xff0c;进程终止时&#xff0c;操作系统做了什么 2&…

阿里云服务器正确配置 Docker 国内镜像的方法

&#x1f4e6; 原理说明&#xff1a;什么是“Docker 镜像加速器”&#xff1f; Docker 默认会从官方仓库 registry-1.docker.io 拉取镜像。由于网络原因&#xff0c;在中国大陆访问这个地址较慢甚至失败。 镜像加速器的作用是&#xff1a; 在国内部署一个缓存服务器&#xf…

PH热榜 | 2025-07-05

1. todai 标语&#xff1a;你的第一份个性化快乐生活指数 介绍&#xff1a;Todai 是你个人的人工智能助手&#xff0c;帮助你获得心理清晰和情感平衡。你可以随时随地记录自己的情绪&#xff0c;发现情绪变化的规律&#xff0c;并获取基于科学的工具。 产品网站&#xff1a;…

c++ duiLib环境集成

duiLib的Github链接&#xff1a;https://github.com/duilib/duilib 使用vcpkg快速安装duilib以及配置。步骤如下&#xff1a; 1、用git下载vcpkg&#xff0c;下载报错&#xff0c;这个错误通常表明在Git克隆过程中&#xff0c;与GitHub服务器的SSL连接被意外重置。改用http下…

一项基于粒子图像测速PIV系统的泥石流模拟冲击实验

1实验背景 全国进入“七下八上”防汛关键期&#xff0c;泥石流作为山区常见地质灾害&#xff0c;突发性强&#xff0c;破坏力大&#xff0c;对人民群众生命财产安全造成威胁&#xff0c;传统观测手段难以实现对碎石运动轨迹与水流场耦合效应的精细观测。而粒子图像测速PIV技术…

ADAS功能介绍

ADAS功能介绍 ADAS&#xff08;Advanced Driving Assistance System&#xff09;高级驾驶辅助系统&#xff0c;可分为如下几大类功能。 IA&#xff08;Information Assist&#xff09;信息辅助类 IA类功能&#xff0c;均不包含驾驶行为的控制。这些功能又可以进一步细分为三…

【LUT技术专题】CLUT代码讲解

本文是对CLUT技术的代码讲解&#xff0c;原文解读请看CLUT文章讲解。 1、原文概要 CLUT利用矩阵在保持3DLUT映射能力的前提下显著降低了参数量。整体流程如下所示。 整体还是基于3D-LUT的框架&#xff0c;只不过添加了一个压缩自适应的变换矩阵。作者使用的损失函数在3DLUT的…

在LinuxMint 22.1(Ubuntu24.04)上安装使用同花顺远航版

刚刚在LinuxMint 22.1(Ubuntu24.04)安装完成同花顺远航版&#xff0c;体验特别好&#xff0c;忍不住要及时给深受Linux平台无好用行情软件之苦的朋友们进行分享了。在此之前我一直只能用同花顺Linux原生版的行情软件&#xff0c;但是该软件只有很基本的行情功能&#xff0c;而且…

解决vue3路由配合Transition时跳转导致页面不渲染的问题

问题复现 <router-view v-slot"{ Component, route }"><transition name"fade" mode"out-in"><keep-alive><component :is"Component" :key"route.path" /></keep-alive></transition>…

java: 无法访问org.springframework.boot.SpringApplication,类文件具有错误的版本 61.0, 应为 52.0

问题 java: 无法访问org.springframework.boot.SpringApplication 错误的类文件: /D:/.m2/repository/org/springframework/boot/spring-boot/3.3.13/spring-boot-3.3.13.jar!/org/springframework/boot/SpringApplication.class 类文件具有错误的版本 61.0, 应为 52.0 请删除…

Docker拉取nacos镜像

以下是使用 Docker 拉取并运行 Nacos&#xff08;阿里巴巴开源的配置中心和服务发现组件&#xff09;镜像的详细指南&#xff1a; 1. 拉取 Nacos 官方镜像 拉取最新版 Nacos 镜像&#xff08;推荐指定版本以避免兼容性问题&#xff09;&#xff1a; # 拉取最新版本&#xff…

【CTF-Web环境搭建】kali

Kali虚拟机下载 这里在官网上下载下kali虚拟机Get Kali | Kali Linux 网速比较慢的话打开一下加速器 下载完成后 得到一个压缩包 选择一个合适的地方将这个压缩包解压一下 记住这个文件目录 这里为了后续方便 简历一个叫做Virtual Machines的文件夹 里面就可以放不同的虚拟机…

微服务架构的演进:迈向云原生

微服务架构的演进&#xff1a;迈向云原生ps:最近在学习的时候&#xff0c;发现好多技术方案最终都有云原生的影子&#xff0c;这里浅谈一下云原生的发展趋势随着互联网技术的发展&#xff0c;软件开发模式经历了从单体应用到微服务架构的重大转变。而在今天&#xff0c;微服务架…

服务器如何配置防火墙规则开放/关闭端口?

配置服务器防火墙规则&#xff08;开放/关闭端口&#xff09;是服务器安全管理的基础操作&#xff0c;不同操作系统和防火墙工具的配置方式有所不同。以下是主流系统的详细操作指南&#xff1a;一、Linux系统&#xff08;iptables/firewalld/UFW&#xff09;1. iptables&#x…

基于SpringBoot+Redis实现外呼频次限制功能

针对外呼场景中的号码频次限制需求&#xff08;如每3天只能呼出1000通电话&#xff09;&#xff0c;我可以提供一个基于Spring Boot和Redis的完整解决方案。 方案设计 核心思路 使用Redis的计数器过期时间机制 采用滑动窗口算法实现精确控制 通过Lua脚本保证原子性操作 实…

下一代 2D 图像设计工具「GitHub 热点速览」

长期以来&#xff0c;2D 设计领域似乎已是 Adobe 与 Figma 的天下&#xff0c;层叠的图层、熟悉的工具栏&#xff0c;一切都显得那么顺理成章&#xff0c;却也让不少设计师在创意的边界上感到了些许乏力。当我们以为设计工具的革新只能是小修小补时&#xff0c;开源社区再次扮演…

L58.【LeetCode题解】模拟算法习题集1(Z 字形变换、外观数列)

目录 1.Z 字形变换 方法1: 模拟 代码 提交结果 方法2:优化后的模拟 代码 提交结果 2.外观数列 方法1:模拟 代码 提交结果 方法2:打表 知识回顾 代码 1.Z 字形变换 https://leetcode.cn/problems/zigzag-conversion/ 将一个给定字符串 s 根据给定的行数 numRows &…

Flink MySQL CDC 环境配置与验证

一、MySQL 服务器配置详解 1. 启用二进制日志&#xff08;Binlog&#xff09; MySQL CDC 依赖二进制日志获取增量数据&#xff0c;需在 MySQL 配置文件&#xff08;my.cnf 或 my.ini&#xff09;中添加以下配置&#xff1a; # 启用二进制日志 log-binmysql-bin # 二进制日志…

如何查看自己电脑的CUDA版本?

在搜索栏输入命令提示符 打开 输入 nvidia-smi图片中的两个是CUDA版本和显卡的信息

opencv使用 GStreamer 硬解码和 CUDA 加速的方案

在Conda环境中从源代码编译OpenCV&#xff08;支持CUDA和GStreamer&#xff09; 以下是完整的方案步骤&#xff0c;包括必要的依赖库安装过程&#xff1a; 1. 安装Miniconda&#xff08;如果尚未安装&#xff09; # 下载Miniconda安装脚本 wget https://repo.anaconda.com/m…