当前位置: 首页 > news >正文

.网站开发工具dw口碑营销经典案例

.网站开发工具dw,口碑营销经典案例,青岛开发区网站建设公司,小红书推广渠道一,minio介绍 MinIO 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大容量非结构化的数据,例如图片、视频、日志文件、备份数据和容器/虚拟机镜像等,而一个对象文件可以是任意大小&…

一,minio介绍

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

MinIO是一个非常轻量的服务,可以很简单的和其他应用的结合,类似 NodeJS, Redis 或者 MySQL。

官方文档:MinIO对象存储 Kubernetes — MinIO中文文档 | MinIO Kubernetes中文文档 旧一点

MinIO Object Storage for Kubernetes — MinIO Object Storage for Kubernetes 新

 应用场景

单主机单硬盘模式

单主机多硬盘模式

多主机多硬盘分布式

特点

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

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

· 云原生:容器化、基于K8S的编排、多租户支持

· Amazon S3兼容:Minio使用Amazon S3 v2 / v4 API。可以使用Minio SDK,Minio Client,AWS SDK和AWS CLI访问Minio服务器。

· 可对接后端存储: 除了Minio自己的文件系统,还支持DAS、 JBODs、NAS、Google云存储和Azure Blob存储。

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

· Lambda计算: Minio服务器通过其兼容AWS SNS / SQS的事件通知服务触发Lambda功能。支持的目标是消息队列,如Kafka,NATS,AMQP,MQTT,Webhooks以及Elasticsearch,Redis,Postgres和MySQL等数据库。

· 有操作页面

· 功能简单: 这一设计原则让MinIO不容易出错、更快启动

· 支持纠删码:MinIO使用纠删码、Checksum来防止硬件错误和静默数据污染。在最高冗余度配置下,即使丢失1/2的磁盘也能恢复数据**!**

存储机制

Minio使用纠删码erasure code和校验和checksum。 即便丢失一半数量(N/2)的硬盘,仍然可以恢复数据。

纠删码是一种恢复丢失和损坏数据的数学算法**。**

二,搭建安装

docker pull minio/minio
新版本: 
docker run \-p 9000:9000 \-p 9001:9001 \--name minio \-d --restart=always \-e "MINIO_ROOT_USER=admin" \-e "MINIO_ROOT_PASSWORD=admin123456" \-v /home/data:/data \-v /home/config:/root/.minio \minio/minio server /data --console-address ":9001"

浏览器访问:http://IP:9000/minio/login,如图:

三,使用

3.1引入依赖

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

3.2创建文件上传的controller FileController

注意:一些参数不能写死,需要写到配置文件里面进行动态读取

minio:endpointUrl: http://192.168.17.166:9000accessKey: adminsecreKey: admin123456bucketName: gmall

@RestController
@RequestMapping("/admin/product")
public class FileController {//由于参数不固定,因此需要从配置文件读取,有两种方式①@value注解②创建实体类使用@configurationproperties注解指定前缀注入@Value("${minio.endpointUrl}")private String endpointUrl; //文件服务器登录地址@Value("${minio.accessKey}")private String accessKey; //用户名@Value("${minio.secreKey}")private String secreKey;  //密码@Value("${minio.bucketName}")private String bucketName; //储存桶名称/*** @Description: 上传图片到minio文件服务器* @Param: MultipartFile* @return:* @Author: Mr.Zhan* @Date: 2022/3/28  17:59*/@PostMapping("/fileUpload")public Result fileUpload(MultipartFile file) {String result =null;try {// 创建minio的客户端MinioClient minioClient =MinioClient.builder().endpoint(endpointUrl)  //指定文件服务器地址,用户名,密码.credentials(accessKey, secreKey).build();// 判断存储桶是否存在boolean found =minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build());if (!found) {// 不存在则创建一个桶minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());} else {throw new GmallException("存储桶已经存在", 20001);}//准备上传的图片名称String fileName = System.currentTimeMillis() + UUID.randomUUID().toString().replaceAll("-", "") + file.getOriginalFilename();//使用流上传文件/** ①bucketName 存储桶名字* ②fileName   文件名称* ③ file.getInputStream() 文件流* ④file.getSize()文件大小* file.getContentType() 文件类型* */minioClient.putObject(PutObjectArgs.builder().bucket(bucketName).object(fileName).stream(file.getInputStream(), file.getSize(), -1).contentType(file.getContentType()).build());result=endpointUrl + "/" + bucketName + "/" + fileName;} catch (ErrorResponseException e) {e.printStackTrace();} catch (InsufficientDataException e) {e.printStackTrace();} catch (InternalException e) {e.printStackTrace();} catch (InvalidKeyException e) {e.printStackTrace();} catch (InvalidResponseException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();} catch (NoSuchAlgorithmException e) {e.printStackTrace();} catch (ServerException e) {e.printStackTrace();} catch (XmlParserException e) {e.printStackTrace();}return Result.ok(result);}
}

3.3登陆控制台设置桶的状态为公开

四,注意

注意:文件上传时,需要调整一下linux 服务器的时间与windows 时间一致!
第一步:安装ntp服务
yum -y install ntp第二步:开启开机启动服务
systemctl enable ntpd第三步:启动服务
systemctl start ntpd第四步:更改时区
timedatectl set-timezone Asia/Shanghai第五步:启用ntp同步
timedatectl set-ntp yes第六步:同步时间
ntpq -p
http://www.dinnco.com/news/37257.html

相关文章:

  • 商务网站建设与维护论文上海seo网站优化软件
  • 注册安全工程师管理系统seo页面代码优化
  • 高要区住房和城乡建设局网站企业文化的重要性
  • 广州网站建设网络推广公司买外链网站
  • 申请域名空间网站优化价格
  • 武汉模板建站源码手机百度ai入口
  • 上海做网站的公司有哪些广告主资源哪里找
  • 怎样做自己的的社交网站公司做网站怎么做
  • 优惠券网站是不是很难做百度知道在线问答
  • 青岛企业名录大全广东seo点击排名软件哪家好
  • 地产商网站建设互联网营销培训平台
  • 福州公司建站产品营销方案
  • 如何制作微信公众号文章来宾seo
  • 外贸网站怎么做外链百度今日数据
  • 做零售网站网络营销项目策划方案
  • 网站上的截图怎么做凡科网站官网
  • 网站源码完整郑州网站建设推广有限公司
  • 外贸网站该怎么做网站建设培训机构
  • 免费提交网址的网站站长工具ping
  • 成都网页制作公司在线咨询seo课程哪个好
  • 表白网页关键词优化外包服务
  • 龙岩企业网站建设制作培训方案模板
  • 茌平做网站推广活动推广
  • 网站开发工程师 上海惠州百度推广排名
  • 在百度上怎么做网站端点seo博客
  • 网站公司建设 中山最新新闻国内大事件
  • 专门做网站的公司茂名网络推广
  • 如何把刚做的网站被百度抓取到seo标题关键词优化
  • 国外虚拟物品交易网站软文网
  • 阳谷做网站如何制作网站最简单的方法