首页
学习
活动
专区
工具
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
您找到你想要的搜索结果了吗?
是的
没有找到

个人Blog第一版本初步上线流程

这是我第一次写博客,之前一直有写博客的想法,但是总觉得,得自己编写一个博客系统才合适。于是一直拖到现在。正好最近自己的博客系统第一个初步版本已经在阿里云上线了。因为系统还不稳定,所以暂时会在csdn平台上进行日志编写。最近把博客上线的经过总结了一下,希望大家少走一点弯路。 这个博客,源码大家可以在慕课网的spring boot企业级博客系统实战中找到,或者网上也应该可以直接搜到。有精力的同学可以去学习或者看一下源码,作为自己的第一个实战项目是很不错的经历。 第一次经历项目的上线工作,算是一次运维的经验,下面是我对项目上线的一些流程总结。大体可以分为这些步骤。

02

oushudb-数据库的备份和恢复

这一节,我们一起来学习如何数据库的备份和恢复,即导入和导出OushuDB数据。 再导入导出之前,为了保证你有足够的磁盘空间来存储备份文件,我们可以通过如下命令得到数据库大 小: mydb=# SELECT sodddatsize FROM hawq_toolkit.hawq_size_of_database WHERE sodddatname=’mydb’; 如果待备份表是压缩的,这个查询给出的大小是压缩后的大小,如果你的备份是没有压缩的,需要乘上 一个压缩比来计算所需空间。具体的空间占用情况,需要根据大家的实际情况来分析判断。 数据库的备份和恢复 通过gpfdist外部表导入数据 启动gpfdist文件服务器 把需要加载的数据文件放到gpfdist数据目录 定义外部表 加载数据 通过gpfdist外部表导出数据 启动gpfdist文件服务器 准备导出的表 定义外部表 导出数据 hdfs外部表导入数据 把需要加载的数据文件放到hdfs数据目录 定义外部表 加载数据 hdfs外部表导出数据 准备导出的表 定义外部表 导出数据 使用COPY命令导入导出数据

01
领券