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

做阿里网站开发公司名字

做阿里网站,开发公司名字,家政服务网站做推广有效果吗,公司注册资金多少合适应用场景 互联网海量非结构化数据的存储 基本概念 Object#xff1a;存储的基本对象#xff0c;如文件、字节流等 Bucket#xff1a;存储Object的逻辑空间#xff0c;相当于顶层文件夹 Drive#xff1a;存储数据的磁盘#xff0c;在MinIO启动时#xff0c;以参数的…应用场景 互联网海量非结构化数据的存储 基本概念 Object存储的基本对象如文件、字节流等 Bucket存储Object的逻辑空间相当于顶层文件夹 Drive存储数据的磁盘在MinIO启动时以参数的方式传入 Set多个Drive的集合。分布式部署时划分一个或多个Set一个Object存在Set上Set中的每个Drive中都会有相同的Object 特点 部署简单整体只有一个二进制文件还可支持各种平台支持海量存储单个对象最大可达5TB兼容Amazon S3接口充分考虑开发人员的需求和体验低冗余且磁盘损坏高容忍读写性能优异HDD在16个结点的MinIO集群的读速度可达10GB/s写速度可达8.5GB/s 纠删码 Erasure CodeEC。MinIO使用纠删码来保证高可靠性使用highwayhash来处理数据损坏。n份原始数据保存后会生成m份纠删码算法转换后的数据当有任意小于等于m份的数据损坏就能通过剩下的额数据还原出来。 存储形式 文件上传到MinIO后存储在对应的磁盘中以Bucket名称为目录文件名为下一级目录这个目录下保存文件的编码数据块、校验块、元数据文件json格式 Docker部署MinIO普通模式 1、拉取镜像 docker pull minio/minio2、创建挂载目录 mkdir /wanfeng/minio/data mkdir /wanfeng/minio/config3、运行容器 docker run -p 9000:9000 -p 9001:9001 --name wanfeng_minio --privilegedtrue \ -e MINIO_ROOT_USER登录用户名 \ -e MINIO_ROOT_PASSWORD登录密码 \ -v /wanfeng/minio/data:/data \ -v /wanfeng/minio/config:/root/.minio \ -d minio/minio server /data --console-address :9001-p 9000:9000 -p 9001:9001必须暴露出两个端口用户客户端和服务端MINIO_ROOT_USER用户名MINIO_ROOT_PASSWORD密码/wanfeng/minio/data:/data数据文件映射目录/wanfeng/minio/config:/root/.minio配置文件映射目录–console-address “:9001”指定服务端端口号通过该端口访问minio服务 Docker部署MinIO纠删码模式 纠删码的作用就是在上传一份数据后会生成n个原始数据块和n个奇偶校验块若任意丢失不超过n块盘都可以进行数据恢复。 1、在docker启动时增加多块盘 docker run -p 9000:9000 -p 9001:9001 --name wanfeng_minio --privilegedtrue \ -e MINIO_ROOT_USER登录用户名 \ -e MINIO_ROOT_PASSWORD密码 \ -v /wanfeng/minio/config:/root/.minio \ -v /wanfeng/minio/data1:/data1 \ -v /wanfeng/minio/data2:/data2 \ -v /wanfeng/minio/data3:/data3 \ -v /wanfeng/minio/data4:/data4 \ -v /wanfeng/minio/data5:/data5 \ -v /wanfeng/minio/data6:/data6 \ -d minio/minio server /data{1...6} --console-address :9001Docker部署MinIO分布式集群 分布式集群可以避免单台服务器故障带来的影响单点故障将minio Java API整合MinIO 1、引入依赖 dependencygroupIdio.minio/groupIdartifactIdminio/artifactIdversion8.3.0/version /dependency!-- https://mvnrepository.com/artifact/me.tongfei/progressbar -- dependencygroupIdme.tongfei/groupIdartifactIdprogressbar/artifactIdversion0.5.3/version /dependencydependencygroupIdcom.squareup.okhttp3/groupIdartifactIdokhttp/artifactIdversion4.10.0/version /dependency2、API使用 SpringBootTest public class MinioApplicationTests {private MinioClient minioClient;public static final String IMAGE_FILE_NAME wallhaven01.jpg;public static final String TEXT_FILE_NAME 笔记.txt;public static final String UPLOAD_FOLDER_PATH src/test/resources/upload;public static final String DOWNLOAD_FOLDER_PATH src/test/resources/download;BeforeEachpublic void connectMinio(){minioClient MinioClient.builder().endpoint(ServerConstant.CENTOS_IP_ADDRESS, 9000, false).credentials(LoginConstant.MINIO_ROOT_USERNAME, LoginConstant.MINIO_ROOT_PASSWORD).build();}/*** 本地文件上传*/Testpublic void uploadFile(){try {//判断bucket是否存在boolean bucketExists minioClient.bucketExists(BucketExistsArgs.builder().bucket(ectest).build());if(!bucketExists){minioClient.makeBucket(MakeBucketArgs.builder().bucket(ectest).build());}else{System.out.println(Bucket[ectest] already exists);}/*** bucket指定上传的bucket* object上传到minio的路径到文件名* filename上传的本地文件路径到文件名*/minioClient.uploadObject(UploadObjectArgs.builder().bucket(ectest).object(IMAGE_FILE_NAME).filename(UPLOAD_FOLDER_PATH File.separator IMAGE_FILE_NAME).build());} catch (Exception e){e.printStackTrace();}}/*** 上传流*/Testpublic void uploadInputStream() throws Exception {File file new File(UPLOAD_FOLDER_PATH File.separator IMAGE_FILE_NAME);FileInputStream fileInputStream new FileInputStream(file);minioClient.putObject(PutObjectArgs.builder().bucket(ectest).object(image_ NumberFactory.getRandomNumber(5) .jpg ).stream(fileInputStream, fileInputStream.available(), -1).build());fileInputStream.close();}/*** 下载文件*/Testpublic void downloadFile(){try {//判断bucket是否存在boolean bucketExists minioClient.bucketExists(BucketExistsArgs.builder().bucket(ectest).build());if(!bucketExists){minioClient.makeBucket(MakeBucketArgs.builder().bucket(ectest).build());}else{System.out.println(Bucket[ectest] already exists);}/*** bucket指定上传的bucket* objectminio中的文件路径* filename下载到本地的路径到文件名*/minioClient.downloadObject(DownloadObjectArgs.builder().bucket(ectest).object(IMAGE_FILE_NAME).filename(DOWNLOAD_FOLDER_PATH File.separator minio_image_ NumberFactory.getRandomNumber(8) .jpg).build());}catch (Exception e){e.printStackTrace();}}/*** 下载流*/Testpublic void downloadInputStream() throws Exception{//获取流InputStream inputStream minioClient.getObject(GetObjectArgs.builder().bucket(ectest).object(IMAGE_FILE_NAME).build());File file new File(DOWNLOAD_FOLDER_PATH File.separator image_aaa.jpg);FileUtils.copyInputStreamToFile(inputStream, file);inputStream.close();//直接把流保存到本地文件minioClient.downloadObject(DownloadObjectArgs.builder().bucket(ectest).object(IMAGE_FILE_NAME).filename(DOWNLOAD_FOLDER_PATH File.separator image_bbb.jpg).build());}}SpringBoot整合MinIO 本质就是把连接minio服务的参数放在配置文件中并通过Bean对象在SpringBoor应用启动时生成MinioClient对象。 1、配置文件application.yml minio:endpoint: http://ip:portrootUserName: 用户名rootPassword: 密码bucketName: bucket名称2、读取配置属性的类 Data Component ConfigurationProperties(prefix minio) public class MinioProperties {private String endpoint;private String rootUserName;private String rootPassword;private String bucketName; }3、生成MinioClient对象的类 Configuration public class MinioClientFactory {Resourceprivate MinioProperties minioProperties;Beanpublic MinioClient getDefaultMinioClient(){return MinioClient.builder().endpoint(minioProperties.getEndpoint()).credentials(minioProperties.getRootUserName(), minioProperties.getRootPassword()).build();} } 4、编写controller测试 RestController Slf4j RequestMapping(/minio) public class MinioController {Resourceprivate MinioClient minioClient;Value(${minio.bucketName})private String bucketName;GetMapping(/list_object_name)public ListString listObject() throws Exception {IterableResultItem objectResults minioClient.listObjects(ListObjectsArgs.builder().bucket(bucketName).build());ListString objectNameList new ArrayList();for (ResultItem objectResult : objectResults) {Item item objectResult.get();objectNameList.add(item.objectName());}return objectNameList;} }
http://www.pierceye.com/news/299094/

相关文章:

  • 企业网站建设内容杭州有几个区
  • 松江建设管理中心网站网站sem托管
  • 做网站前期框架图射击官网
  • 吉首网站建设吉首网站建设网站app制作费用单
  • 网站最好的优化是什么经过学习网站开发后的心得体会
  • 如何把资料上传到网站公司网站建设视频教程
  • 济南建设网站平台泰安高端网站设计建设
  • 武安网站建设价格开发区网站建设
  • 安徽省住房城乡建设厅官方网站2022年最新热点素材
  • 济宁网站建设方面舟山网站设计公司
  • 局域网网站建设多少钱wordpress企业站主题
  • asp做网站用什么写脚本营销网站开发系统
  • 企业网站建设心得中国八大设计院排名
  • 网站建设与管理总结心得找工作在什么网站找比较好
  • wordpress 赢利模式佛山百度seo排名
  • 关停网站的申请营销型网站建设目的和意义
  • 网站是做推广好还是优化好广西大兴建设有限公司网站
  • 书籍教你如何做网站南阳定制网站制作价格低
  • 联合实验室 网站建设方案网站 手机兼容
  • 保定网站建设培训班团员团干部如何登录到系统
  • 做网站的旅行社手机页面网站模板怎么卖
  • 潮州南桥市场中国建设银行网站企业为什么要建设网站
  • 东营seo整站优化禁止wordpress历史版本
  • 太原网站建设与维护秦皇岛建设局
  • 我的世界做壁纸的网站学生班级优化大师
  • 高端大气上档次网站网站建立基本流程
  • 找人做网站如何担保江门网站建设
  • 张家界住房和城乡建设局网站各大网站提交入口网址
  • 张家港建网站Wordpress主页不要全部显示
  • 竞猜网站模板经典创意营销案例