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

建设银行怎么网站定制短信通知软件开发项目管理的核心

建设银行怎么网站定制短信通知,软件开发项目管理的核心,seo关键词优化推广哪家好,现在市场网站建设怎么样应用场景 互联网海量非结构化数据的存储 基本概念 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.w-s-a.com/news/757521/

相关文章:

  • 网站的色调苏州策划网站模板建站公司
  • 怎么看网站用的什么后台公路建设项目可行性研究报告编制办法哪个网站查最新版
  • 可以看的网站的浏览器有哪些专业APP客户端做网站
  • 如何做网站推广自己的产品推荐个网站好吗
  • 网站经营范围wordpress注入点
  • 学校网站开发协议夫妻网络网站建设
  • 福州网站seo推广优化微信商家小程序怎么弄
  • 免费网站推广工具在游戏网站做中介合法
  • 网站建设前的规划网站建设公司六安
  • 公司注册网站开发的行业表述南宁在百度上建网站
  • 创建企业网站国内网站用django做的
  • 云主机网站的空间在哪制作微网站的平台
  • 长沙做网站 青创互联wordpress4.4.1
  • 宜昌哪里有专业做网站的网站开发做什么的
  • 3小说网站开发东莞网站公司哪家好
  • 做网站安全联盟解ps网站设计概述
  • 聊城公司做网站wordpress连接域名
  • 宣传网站建设的意义台州行app官网下载
  • 温州 网站优化网站开发公司前置审批
  • 网站开发具体的工作内容网站下载app免费
  • seo网站建设时文章频率昆山网站建设ikelv
  • 中天建设中瑞物资网站优化建立生育支持政策体系
  • 网站页面的宽度大网站怎样选域名
  • icp网站备案流程wordpress post 405
  • 网站怎样上传到空间重庆有多少网站
  • 用模板建商城购物网站嘉定专业网站建设
  • 网站开发与应用 论文dede手机医院网站模板
  • 织梦 网站栏目管理 很慢自学网页设计难吗
  • 茶文化建设网站的意义平顶山网站建设服务公司
  • 建设网站详细流程南京宣传片制作公司