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

个人项目复习-云盘Day01

考点1:为什么使用Minio

背景:数据爆炸时代,文件存储持续上升,物理存储资源通过网络连接节点,扩展容易,开发难。

业内解决案:

Minio

✓ 完全兼容Amazon S3协议 ✓ 主流语言客户端支持(Java/Python/Go等) ✓ 提供Web管理界面+丰富API ✓ 支持分布式部署+自动数据修复 数据加密(AES-256) 精细化访问控制(IAM策略) 多节点高可用架构

考点2:Amazon S3协议

亚马逊提供的一种对象存储服务,行业领先的可扩展性,它是一种基于HTTP协议的RESTful API,用于访问Amazon Web Services (AWS)提供的对象存储服务。

常见API:

通相关 bucketExists(String bucketName) removeBucket(String bucketName) createBucket(String bucketName) getAllBucket() 文件处理 listObjects(String bucketName) doesObjectExist(String bucketName, String objectKey) upload(String bucketName, String objectKey, String localFileName) upload(String bucketName, String objectKey, MultipartFile file); delete(String bucketName, String objectKey) 下载管理 getDownloadUrl(String bucketName, String remoteFileName, long timeout, TimeUnit unit) download2Response(String bucketName, String objectKey, HttpServletResponse response)

考点3:存储模块使用的设计模式

策略模式

  • 定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换

  • 定义共享接口:首先定义共享接口,接口规定了所有支持的算法必须遵循的规则

  • 实现具体策略:为这个接口提供多种不同的实现,每个实现代表一个具体的算法或行为

优点:算法的封装,易于扩展,简化单元测试。

缺点:客户端需要知道所有策略类:客户端需要了解所有策略类的存在,以便能够选择合适的策略;增加系统复杂性

角色:Context上下文,Strategy策略角色,ConcreteStrategy具体策略角色

策略模式的优势:客户端代码与存储实现的解耦;灵活切换存储策略,支持AB测试(多个存储策略进行性能比较)

考点4:为什么要抽象存储引擎接口

原因:将文件存储引擎的接口抽象出来,具体实现可以多种,提高系统的灵活性;允许我们根据不同的需求和环境(如开发、测试、生产)灵活切换。

优点:灵活性和可扩展性;解耦;易于测试;代码复用;简化维护。

缺点:复杂性增加,性能考虑,实现一致性

注意:

aws-java-sdk-s3本身就是封装好了,支持多个存储的,为什么我们又要加一层呢?

万一以后不用aws-java-sdk-s3,那岂不是要四处修改aws-java-sdk-s3的API方法

但如果加了一层封装,其他地方使用时,后续修改换别的SDK,只需要修改封装层即可

http://www.jsqmd.com/news/473098/

相关文章:

  • 多智能体强化学习实战:HATRPO与HAPPO在复杂环境中的策略优化
  • SiameseUIE在HR简历解析中的应用:姓名、学历、工作经历、技能证书实体抽取
  • 深入解析Pipline中的Hazard检测与Forwarding机制
  • public-apis:开发者必备的全球公开API资源库完全指南
  • MindSpore Python安全编码实践指南
  • AI 辅助开发实战:高效完成 Vue 毕业设计的工程化方案
  • 【数据科学】3 Sigma法则:从理论到异常检测实战
  • 零基础入门机器人抓取:借助快马平台轻松理解openclaw skills核心代码
  • OpCore Simplify工具全流程指南:从硬件适配到EFI优化的完整实践
  • 无参考图像质量评估:从BRISQUE到RankIQA的算法演进与应用实践
  • Twitter Spaces音频持久化解决方案:twspace-dl全场景应用指南
  • VoxelMorph无监督医学图像配准框架:技术解析与实战指南
  • MediaPipe 手势识别进阶:从手掌朝向解析到手指弯曲度量化
  • 6个维度深度解析:四叶草拼音如何重塑开源输入法体验
  • 4大场景高效保存网络音频内容:twspace-dl全功能操作指南
  • BepInEx插件框架技术指南:从安装部署到深度应用
  • 3步实现B站动态抽奖自动化:BiliRaffle全方位操作指南
  • 高效OCR文字提取工具Text-Grab:极简操作从零到精通
  • 电脑驱动总出问题?试试这款驱动管理软件,搞定所有更新!
  • 实战指南:基于快马平台和OpenClaude构建企业级智能客服系统
  • Ollma部署LFM2.5-1.2B-Thinking:Docker镜像定制+模型嵌入一体化部署
  • 想在上海注册公司,做展览展示公司,这份保姆级实操指南请收 - 企业推荐官【官方】
  • 实战应用:用快马AI为9·1软件站添加文件校验与评论系统,强化平台可信度
  • 医学影像分割与AI辅助诊断:TotalSegmentator全方位技术指南
  • 利用快马平台快速搭建你的第一个ibbot智能客服对话原型
  • 借助claude code与快马平台,十分钟快速搭建个人博客原型
  • 2026年重庆演出市场前瞻:为何这五类机构必须办理营业性演出许可证? - 企业推荐官【官方】
  • 从针孔到畸变:单目、双目与深度相机的模型演进与实战解析
  • 2026年福建营业性演出许可证,这5家机构为何成为行业首选? - 企业推荐官【官方】
  • 显卡风扇控制完全指南:突破转速限制与多场景优化方案