首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    上传文件服务与web服务分离

    业务场景: 1. 后端服务为java web应用,使用tomcat容器,多实例集群化部署。 2. 前端使用nginx作为后端应用的反向代理。 业务需求: 现在需要在java web应用端上传文件,同时还要能支持文件下载。 设计方案: 1. 文件应该专门使用文件服务器进行存储,在数据库中存储文件下载链接即可。 2. tomcat容器本身不擅长做文件上传下载的事情,所以最好将文件上传下载的功能与web服务分离,比如使用nginx作为文件服务器。 具体实现: 通常,针对简单的应用,可以使用NFS,在web端上传文件后直接写到文件服务器;或者将文件上传到web应用之后,再将文件同步到文件服务器。 不论是通过NFS或者任何其他同步工具的方式,都存在文件中转的过程,必须先将文件通过web应用进行上传保存,再同步到文件服务器。中间可能存在同步出错或延时,也存在扩展性不好的问题。 所以,设计实现方案如下: 1. 使用http协议通过web表单方式上传文件。 2. 在文件服务器上部署web服务器,专门用于文件上传。 3. 通常在web应用中上传文件时,除了上传文件数据,还需要传递一些文字。文字保存在数据库中,文件保存在服务器上,同时将生成文件下载链接保存在数据库。 4. 通过MD5校验文件内容,避免相同文件因为文件名不同而被恶意上传导致大量垃圾文件占满磁盘空间。

    01

    基础拾遗--【转】上行带宽,下行带宽,上传,下载区别

    1.上行 是指从服务器流出的带宽,如果是在其他机器下载服务器上的文件,用的主要是服务器的上行带宽。 2.下行 是指流入到服务器的带宽,如果是在其他机器上传文件到服务器,比如用FTP上传文件,用的主要是服务器的下行带宽。 大部分服务器的使用环境,都是上行带宽(下载服务器文件)用的多,下行(上传文件到服务器)带宽用的少。 POST方式上传的话,文件会被服务器读到内存中,如果服务器内存不大但文件上传操作的并发数比较多的话,服务器会因为内存不足而使用虚拟内存或交换空间而使得服务器的I/O性能大幅降低,也就是服务器

    06
    领券