手工活外包加工官方网安阳企业网站优化排名

张小明 2025/12/31 9:55:46
手工活外包加工官方网,安阳企业网站优化排名,长沙的互联网网站公司,最近在线观看免费完整版高清电影本文详解MinIO对象存储的部署配置、S3兼容API使用、分布式集群搭建等实践。 前言 对象存储越来越重要#xff1a; 海量非结构化数据存储图片、视频、备份文件云原生应用标配 MinIO是最流行的开源对象存储#xff1a; S3 API 100%兼容高性能#xff08;单节点可达100Gbps…本文详解MinIO对象存储的部署配置、S3兼容API使用、分布式集群搭建等实践。前言对象存储越来越重要海量非结构化数据存储图片、视频、备份文件云原生应用标配MinIO是最流行的开源对象存储S3 API 100%兼容高性能单节点可达100Gbps部署简单轻量级支持分布式、纠删码用MinIO搭建私有云存储成本低、速度快。一、单节点部署1.1 Docker部署docker run -d\--name minio\-p9000:9000\-p9001:9001\-eMINIO_ROOT_USERadmin\-eMINIO_ROOT_PASSWORDadmin123456\-v /data/minio:/data\minio/minio server /data --console-address:90011.2 Docker Compose部署# docker-compose.ymlversion:3.8services:minio:image:minio/minio:latestcontainer_name:minioports:-9000:9000# API端口-9001:9001# 控制台端口environment:MINIO_ROOT_USER:adminMINIO_ROOT_PASSWORD:admin123456volumes:-./data:/datacommand:server /data--console-address :9001restart:unless-stoppedhealthcheck:test:[CMD,curl,-f,http://localhost:9000/minio/health/live]interval:30stimeout:20sretries:3docker compose up -d1.3 访问MinIO控制台http://服务器IP:9001 API地址http://服务器IP:9000 用户名admin 密码admin123456二、基本操作2.1 创建Bucket控制台 → Buckets → Create Bucket - Bucket Name: my-bucket - Versioning: 按需开启 - Object Locking: 按需开启2.2 mc客户端# 安装mc客户端wgethttps://dl.min.io/client/mc/release/linux-amd64/mcchmodxmcmvmc/usr/local/bin/# 配置别名mcaliassetmyminio http://192.168.1.100:9000 admin admin123456# 查看bucketmclsmyminio# 创建bucketmcmb myminio/my-bucket# 上传文件mccpmyfile.txt myminio/my-bucket/# 下载文件mccpmyminio/my-bucket/myfile.txt ./# 查看bucket内容mclsmyminio/my-bucket/# 删除文件mcrmmyminio/my-bucket/myfile.txt# 同步目录mcmirror ./local-folder myminio/my-bucket/2.3 S3 API使用Python示例importboto3frombotocore.clientimportConfig# 创建S3客户端s3boto3.client(s3,endpoint_urlhttp://192.168.1.100:9000,aws_access_key_idadmin,aws_secret_access_keyadmin123456,configConfig(signature_versions3v4))# 创建buckets3.create_bucket(Bucketmy-bucket)# 上传文件s3.upload_file(local_file.txt,my-bucket,remote_file.txt)# 下载文件s3.download_file(my-bucket,remote_file.txt,downloaded_file.txt)# 列出对象responses3.list_objects_v2(Bucketmy-bucket)forobjinresponse.get(Contents,[]):print(obj[Key])# 生成预签名URL临时访问链接urls3.generate_presigned_url(get_object,Params{Bucket:my-bucket,Key:remote_file.txt},ExpiresIn3600# 1小时有效)print(url)Java示例importsoftware.amazon.awssdk.auth.credentials.AwsBasicCredentials;importsoftware.amazon.awssdk.auth.credentials.StaticCredentialsProvider;importsoftware.amazon.awssdk.regions.Region;importsoftware.amazon.awssdk.services.s3.S3Client;importsoftware.amazon.awssdk.services.s3.model.*;importjava.net.URI;publicclassMinioExample{publicstaticvoidmain(String[]args){S3Clients3S3Client.builder().endpointOverride(URI.create(http://192.168.1.100:9000)).credentialsProvider(StaticCredentialsProvider.create(AwsBasicCredentials.create(admin,admin123456))).region(Region.US_EAST_1).build();// 列出bucketListBucketsResponseresponses3.listBuckets();response.buckets().forEach(bucket-System.out.println(bucket.name()));}}三、权限管理3.1 创建用户控制台 → Identity → Users → Create User - Access Key: readonly-user - Secret Key: readonly123456 - Policies: readonly只读3.2 内置策略策略权限readonly只读所有bucketreadwrite读写所有bucketdiagnostics诊断权限writeonly只写权限3.3 自定义策略{Version:2012-10-17,Statement:[{Effect:Allow,Action:[s3:GetObject,s3:PutObject,s3:DeleteObject],Resource:[arn:aws:s3:::my-bucket/*]},{Effect:Allow,Action:[s3:ListBucket],Resource:[arn:aws:s3:::my-bucket]}]}3.4 Bucket策略公开访问{Version:2012-10-17,Statement:[{Effect:Allow,Principal:*,Action:[s3:GetObject],Resource:[arn:aws:s3:::public-bucket/*]}]}四、分布式集群4.1 集群架构┌─────────┐ ┌─────────┐ ┌─────────┐ ┌─────────┐ │ Node1 │ │ Node2 │ │ Node3 │ │ Node4 │ │ /data1 │ │ /data1 │ │ /data1 │ │ /data1 │ │ /data2 │ │ /data2 │ │ /data2 │ │ /data2 │ └─────────┘ └─────────┘ └─────────┘ └─────────┘ │ │ │ │ └───────────┼───────────┼───────────┘ │ 纠删码分布存储 (最多允许N/2节点故障)4.2 Docker Compose集群# docker-compose.ymlversion:3.8services:minio1:image:minio/minio:latesthostname:minio1volumes:-./data1-1:/data1-./data1-2:/data2environment:MINIO_ROOT_USER:adminMINIO_ROOT_PASSWORD:admin123456command:server--console-address :9001 http://minio{1...4}/data{1...2}healthcheck:test:[CMD,curl,-f,http://localhost:9000/minio/health/live]interval:30stimeout:20sretries:3minio2:image:minio/minio:latesthostname:minio2volumes:-./data2-1:/data1-./data2-2:/data2environment:MINIO_ROOT_USER:adminMINIO_ROOT_PASSWORD:admin123456command:server--console-address :9001 http://minio{1...4}/data{1...2}minio3:image:minio/minio:latesthostname:minio3volumes:-./data3-1:/data1-./data3-2:/data2environment:MINIO_ROOT_USER:adminMINIO_ROOT_PASSWORD:admin123456command:server--console-address :9001 http://minio{1...4}/data{1...2}minio4:image:minio/minio:latesthostname:minio4volumes:-./data4-1:/data1-./data4-2:/data2environment:MINIO_ROOT_USER:adminMINIO_ROOT_PASSWORD:admin123456command:server--console-address :9001 http://minio{1...4}/data{1...2}nginx:image:nginx:latestports:-9000:9000-9001:9001volumes:-./nginx.conf:/etc/nginx/nginx.conf:rodepends_on:-minio1-minio2-minio3-minio44.3 Nginx负载均衡配置# nginx.conf events { worker_connections 1024; } http { upstream minio_api { server minio1:9000; server minio2:9000; server minio3:9000; server minio4:9000; } upstream minio_console { server minio1:9001; server minio2:9001; server minio3:9001; server minio4:9001; } server { listen 9000; location / { proxy_pass http://minio_api; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } } server { listen 9001; location / { proxy_pass http://minio_console; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; } } }五、跨站点同步5.1 场景需求 - 总部MinIO存储主数据 - 分部MinIO作为副本或缓存 - 两地网络不通5.2 组网方案使用组网软件如星空组网打通网络┌─────────────────────────────────────────────────────────┐ │ 组网虚拟局域网 │ │ │ │ ┌──────────────────┐ ┌──────────────────┐ │ │ │ 总部MinIO │ │ 分部MinIO │ │ │ │ 10.10.0.1 │←────→│ 10.10.0.2 │ │ │ │ :9000 │ 同步 │ :9000 │ │ │ └──────────────────┘ └──────────────────┘ │ │ │ └─────────────────────────────────────────────────────────┘5.3 配置站点复制# 在总部MinIO配置mcadmin replicateaddmyminio http://10.10.0.2:9000\--access-key admin --secret-key admin123456# 或使用mc mirror同步mcmirror --watch myminio/my-bucket remote-minio/my-bucket5.4 客户端访问就近节点# 应用根据网络环境选择MinIO节点MINIO_ENDPOINTS{headquarters:http://10.10.0.1:9000,branch:http://10.10.0.2:9000}# 使用就近节点endpointMINIO_ENDPOINTS.get(current_location,MINIO_ENDPOINTS[headquarters])六、与应用集成6.1 Spring Boot集成!-- pom.xml --dependencygroupIdio.minio/groupIdartifactIdminio/artifactIdversion8.5.7/version/dependencyConfigurationpublicclassMinioConfig{BeanpublicMinioClientminioClient(){returnMinioClient.builder().endpoint(http://192.168.1.100:9000).credentials(admin,admin123456).build();}}ServicepublicclassFileService{AutowiredprivateMinioClientminioClient;publicStringuploadFile(MultipartFilefile,Stringbucket){StringfileNameUUID.randomUUID()_file.getOriginalFilename();minioClient.putObject(PutObjectArgs.builder().bucket(bucket).object(fileName).stream(file.getInputStream(),file.getSize(),-1).contentType(file.getContentType()).build());returnfileName;}publicInputStreamdownloadFile(Stringbucket,StringfileName){returnminioClient.getObject(GetObjectArgs.builder().bucket(bucket).object(fileName).build());}}6.2 文件直传前端直传// 1. 后端生成预签名URL// 2. 前端直接上传到MinIOasyncfunctionuploadFile(file){// 获取预签名URLconstresponseawaitfetch(/api/presigned-url,{method:POST,body:JSON.stringify({filename:file.name})});const{url}awaitresponse.json();// 直接上传到MinIOawaitfetch(url,{method:PUT,body:file,headers:{Content-Type:file.type}});}七、监控与告警7.1 Prometheus指标# 启用Prometheus指标mcadmin prometheus generate myminio# 配置Prometheusscrape_configs: - job_name: minio metrics_path: /minio/v2/metrics/cluster static_configs: - targets:[192.168.1.100:9000]7.2 关键指标指标说明minio_bucket_usage_total_bytesBucket使用量minio_node_disk_free_bytes磁盘剩余空间minio_s3_requests_total请求总数minio_s3_requests_errors_total错误请求数八、总结MinIO对象存储要点部署简单Docker一行命令S3兼容无缝替换AWS S3分布式纠删码保证数据安全权限管理IAM策略控制跨站点组网后同步复制使用场景☑ 图片/视频存储 ☑ 日志归档 ☑ 数据备份 ☑ AI训练数据集 ☑ 云原生应用存储后端参考资料MinIO官方文档https://min.io/docs/minio/linux/index.htmlMinIO GitHubhttps://github.com/minio/minioMinIO SDK文档https://min.io/docs/minio/linux/developers/minio-drivers.html建议生产环境至少4节点集群启用纠删码。单节点仅用于开发测试。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

admin登录网站wordpress主题图片路径

快速体验 打开 InsCode(快马)平台 https://www.inscode.net输入框内输入如下内容: 制作一个面向Linux初学者的交互式学习教程,包含:1)unzip安装方法(各Linux发行版) 2)5个最基础命令示例 3)常见错误及解决方法 4)简单练习题。要求使用对话式…

张小明 2025/12/31 9:55:11 网站建设

潍坊 区网站建设wordpress 优享

第一章:Open-AutoGLM部署概述Open-AutoGLM 是一个开源的自动化通用语言模型推理服务框架,旨在简化大语言模型在生产环境中的部署流程。它支持模型加载、动态批处理、API 接口暴露及资源监控等核心功能,适用于多种硬件平台与部署场景。核心特性…

张小明 2025/12/31 9:53:56 网站建设

中国建设质量网官方网站成都全屋定制十大名牌

PyTorch官方推荐环境管理工具:Miniconda-Python3.10实战解析 在深度学习项目开发中,你是否曾遇到过这样的场景?刚接手一个开源模型代码,满怀期待地运行 python train.py,结果却报出“ModuleNotFoundError”或“version…

张小明 2025/12/31 9:52:51 网站建设

设计师学编程能自己做网站吗河北省城乡与建设厅网站

Windows掌机优化终极指南:5个关键设置快速提升游戏体验 【免费下载链接】HandheldCompanion ControllerService 项目地址: https://gitcode.com/gh_mirrors/ha/HandheldCompanion 在当今游戏设备多样化的时代,Windows掌机凭借其强大的兼容性和灵活…

张小明 2025/12/31 9:52:15 网站建设

网站建设一条龙全包顶呱呱建立网站导航栏的方法

Agent项目上线稳定运行半年后,我发现所有旨在替代规则的系统,最终都以更复杂的形式,重新实现了规则的核心理念。这不是一篇讨喜的文章,因为它听起来像是在否定过去几年的努力。但如果你真正负责过一个智能体系统从上线到稳定运行的…

张小明 2025/12/31 9:51:38 网站建设