当前位置:
文档之家› 微服务分布式架构 第十一章 微服务的文件上传与分布式文件管理
微服务分布式架构 第十一章 微服务的文件上传与分布式文件管理
HTTP文件上传下载原理
文件上传是将文件转化成二进制数据,通过HTTP请求把二进制数据传输到服务器之中,并在服务器中创 建相应空间,然后将二进制文件写入进去,转换成文件。在前端发送Request请求给JAVA后台的时候, 会在Request Headers消息头中增加相应参数。
参数 POST /index HTTP/1.1 Host: localhost:8080 Connection: keep-alive
微服务分布式第十一课的总结
通过《11.2.【实例】微服务的单文件和多文件上传》小节实现了微服务上传; 通过了《11.7. 【实例】分布式微服务整合FastDFS》小节实现了微服务的分布式上传;
在《11.5.4. FastDFS解决方案》小节中讲述了分布式上传的原理,微服务的即将上传服务器、文件服务 器分割成两个服务器进行操作,由于FastDFS安装较为复杂,篇幅有限的情况下,具体FastDFS内容可参 考相关DFS文档即可。
浏览器申明自己接收的语言 浏览器接收的媒体类型 application/json, 代表接收json类型数据; text/javascript */* 代表浏览器可以处理所有类型
浏览器接收的内容类型、字符集
Spring MVC文件上传原理
Multipart格式的数据会将一个表单拆成多个部分(part),每个部分对应一个 输入区域,在一般表单输入区域中,Multipart所对应的部分会放置文本类型的 数据,但是如果上传文件的话,Multipart对应的部分是二进制的。正常 SpringMVC在接到Request请求时,步骤如下所示。
3. 创建Spring Boot工程,使用Spring Boot整合FastDFS分布式文件系统,可具备文件上传/下载等相关能 力。
4. 整理并分析分布式与集群之间的相同点和不同点。整理并分析分布式任务调度Quartz、分布式文件系 统FastDFS、分布式注册中心Consul、Spring Cloud的相同点与不同点。
释义
请求方式 文件名 http版本号
请求地址
Connection决定当前的事务完成后,是否会关闭网络连接。如果该值是“keep-alive”,网络连接就是 持久的,不会关闭,使得对同一个服务器的请求可以继续在该连接上完成。
Content-Length: 557 Origin: http://localhost:8080 X-Requested-With: XMLHttpRequest Accept-Encoding: gzip, deflate, br
微服务的分布式事务类似于分布式文件管理,即将分布式事务管理器、数据库、应用系统分割开来使用 MyCat或其它中间件进行处理。
1、 用户发送请求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到请求调用HandlerMapping处理器映射器。 3、 处理器映射器找到具体的处理器(可以根据xml配置、注解进行查找),生 成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。 4、 DispatcherServlet调用HandlerAdapter处理器适配器。 5、 HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。 6、 Controller执行完成返回ModelAndView。 7、 HandlerAdapter将controller执行结果ModelAndView返回给 DispatcherServlet。 8、 DispatcherServlet将ModelAndView传给ViewReslover视图解析器。 9、 ViewReslover解析后返回具体View。 10、 DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图 中)。 11、 DispatcherServlet响应用户。
微服务分布式第十一课的实验 1. 【实例】微服务的单文件和多文件上传 2. 【实例】分布式微服务整合FastDFS
微服务分布式第十一课的习题
1. 创建Spring Boot工程,使用Spring Boot整合文件上传,在前台使用JSP页面上传文件后,微服务的接 口将上传的文件存储到指定地点。
2.搭建FastDFS分布式文件系统,搭建后使用命令可具备文件上传/下载等相关能力。
Accept-Language: zh-CN,zh;q=0.9 Accept:application/json,text/javascript, */*; q=0.01
Content-Type: application/json; charset=UTF-8
发送给HTTP服务器的长度 起源是来自哪里 表明是ajax异步请求 浏览器申明自己接收的编码方式:通常指定压缩、是否支持压缩、支持什么方式压缩(gzip/default)