建设部人事教育司网站,茂名建站公司,2022免费ppt模板,网络营销顾问服务一、需求背景
文件的上传、下载功能是软件系统常见的功能#xff0c;包括上传文件、下载文件、查看文件等。例如#xff1a;电商系统中需要上传商品的图片、广告视频#xff0c;办公系统中上传附件#xff0c;社交类系统中上传用户头像等等。文件上传下载大致流程为#…一、需求背景
文件的上传、下载功能是软件系统常见的功能包括上传文件、下载文件、查看文件等。例如电商系统中需要上传商品的图片、广告视频办公系统中上传附件社交类系统中上传用户头像等等。文件上传下载大致流程为 这种方式开发起来简单、直接但是有一些问题
重复开发 比如对接某个OSS(Object Storage Service,简称OSS)服务商 每个应用都需要对接该服务商重复工作扩展性差 当需要切换服务商时所有涉及到的应用都需要修改、测试、上线
基于以上原因微服务体系下的应用系统一般都有一个文件服务用于统一管理文件上传下载等功能大型电商系统甚至有独立的文件、图片、视频服务。此时架构体系变为 这种方式提供一个独立的文件微服务该微服务向应用系统提供统一的上传、下载、查看接口应用系统调用方式相同并且屏蔽了底层对外调用OSS服务的接口即使以后迁移OSS服务商应用层面的系统也不需要变动。 这种模式也有一个小问题比如我们调用了阿里云的OSS服务如果所有的下载、查看功能都调用文件服务那么文件服务的网络流量将会有非常大的压力。所以常用的做法是这样的 二、核心功能
文件服务的核心功能是 上传和下载 另一方面除了这两个核心功能还需要其他非功能性要求
可用性作为基础性服务可用性要求非常高配置性OSS服务商配置、上传下载方式等内容扩展性能方便的进行扩展如添加新的OSS服务商等
本课程的文件服务提供两种类型的服务
面对应用系统的通用附件服务。提供统一的上传接口屏蔽底层的存储方案本地存储、FastDFS、阿里云存储、七牛云存储等可独立运行服务。面对用户的网盘服务。有文件夹和文件的概念支持大文件分片上传、合并。
三、存储策略
1、本地存储
本地存储即将上传的文件存储在本地磁盘并通过本地提供的Nginx服务来对外提供文件的下载和查看等功能。
2、FastDFS存储
FastDFS存储即将上传的文件存储在FastDFS分布式文件存储系统中并通过FastDFS结合Nginx提供的服务来对外提供文件的下载和查看等功能。
3、云存储
云存储即将上传的文件存储在第三方云平台上例如阿里云OSS、七牛云OSS服务等并通过这些第三方提供的OSS服务来对外提供文件的下载和查看等功能。