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

新闻源网站做黑帽seo企业通过网络推广成功的案例

新闻源网站做黑帽seo,企业通过网络推广成功的案例,临沂网站建设怎么样,wordpress 网页应用场景 互联网海量非结构化数据的存储 基本概念 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.yutouwan.com/news/153961/

相关文章:

  • 嵊州建设银行取款网站做网站如何用代码把字体变大
  • 网站开发服务器种类免费响应式模板网站模板
  • xx网站建设策划方案wordpress pdf浏览器
  • 详情页制作网站旅游网站网页设计
  • 企业网站建设网站模板南昌网站建设技术托管
  • 局域网站开发wordpress打开太慢责备
  • 公司建设网站制作爬黄山旅游攻略游览路线
  • 网站百度统计表格怎么做php网站开发更换模板
  • 建设公司网站的请示wordpress 如何评论
  • 无锡网站建设套餐用别人公司域名做网站
  • 网站开发公司谁家好联想北京有限公司
  • 中小学图书馆网站建设上海软件定制开发公司
  • 成都高投建设开发有限公司网站英文建站软件
  • 网站模板库免费网站流量分析工具
  • 安庆市建设办事处网站卖东西专业网站网上
  • jsp网站 iis软件开发需要学什么知识
  • 深圳的网站建设的公司小程序开发
  • 做国外零售做什么网站查钓鱼网站
  • 秦皇岛市 网站建设深圳网站建设有免费的吗
  • 网站做的好的玩具公司网站设计论文
  • 驻马店网站建设手工视频制作网站
  • 江苏南京建设工程信息网站网站群建设优点
  • 人力资源网站建设方案专门做奢侈品的网站
  • 网页设计类网站做网站的品牌公司有哪些
  • 门户类型网站有哪些网站负责人半身照
  • 网站栏目规划怎么写互联网舆情监控系统
  • 我们的网站正在建设之中0基础12天精通网站建设
  • 服饰网站模板长沙诚信做网站
  • 网站建设公司专业网站开发制作浙江省建设职业注册中心网站
  • 重庆网站建设加q.479185700wordpress用户头像插件