3分钟快速了解FastDFS
1、介绍
FastDFS是一个C语言写的阿里开源的分布式文件存储服务器
主要由两部分组成:
1、Tracker server ——————主要负责调度和追踪Storage状态(调度服务器),默认监听端口:22122
2、Storage server ——————文件存储服务器
客户端请求 Tracker server 进行文 件上传、下载,通过 Tracker server 调度最终由 Storage server 完成文件上传和下载。
2、文件上传流程
① 客户端发出请求上传文件,发送给Tracker server
② Tracker server 调度告诉客户端上传到哪个Storage
③ 客户端向指定的Storage请求存储
④ Storage存储后将加密成的文件id返回给客户端存到数据库

3、文件下载流程

4、FastDFS的优势
- 解决了海量存储的问题
- 可同步方便扩展
- 同样内容的文件在FastDFS里只存放一个(a,b用户上传了内容相同的文件(不管文件名相不相同)最后只会存一个文件,而后一个人的上传速度几乎可以秒速上传,以为验证存在就直接指向。类比百度云上传)
5、拓展:如何加速静态文件的加载
通过nginx加速文件上传下载,本质还是通过nginx实现动静分离(借助fast_nginx_module_master.zip)# nginx 配置server {
# nginx 配置
server {
listen ;
server_name localhost; # 网站域名
location ~/group[-]/ { # 正则匹配静态文件路径
ngx_fastdfs_module;
}
error_page /50x.html;
location = /50x.html {
root html;
}
}
3分钟快速了解FastDFS的更多相关文章
- 一分钟快速入门openstack
一.它是什么,能干什么想认识一个事物,必须先弄明白它是什么,能干什么.首先说一下,openstack是一个搭建云平台的一个解决方案,说他不是个软件,但是我觉得说是一个软件,能够让大家认识更清晰些.op ...
- 30分钟快速掌握AngularJs
[后端人员耍前端系列]AngularJs篇:30分钟快速掌握AngularJs 一.前言 对于前端系列,自然少不了AngularJs的介绍了.在前面文章中,我们介绍了如何使用KnockoutJs来 ...
- Vue.js——60分钟快速入门(转)
vue:Vue.js——60分钟快速入门 <!doctype html> <html lang="en"> <head> <meta ch ...
- [转帖]十分钟快速理解DPI和PPI,不再傻傻分不清!
十分钟快速理解DPI和PPI,不再傻傻分不清! https://baijiahao.baidu.com/s?id=1605834796518990333&wfr=spider&for= ...
- 5分钟快速打造WebRTC视频聊天<转>
原文地址: 5分钟快速打造WebRTC视频聊天 百度一下WebRTC,我想也是一堆.本以为用这位朋友( 搭建WebRtc环境 )的SkyRTC-demo 就可以一马平川的实现聊天,结果折腾了半天,文本 ...
- Vue.js 60 分钟快速入门
Vue.js 60 分钟快速入门 转载 作者:keepfool 链接:http://www.cnblogs.com/keepfool/p/5619070.html Vue.js介绍 Vue.js是当下 ...
- 不会几个框架,都不好意思说搞过前端: Vue.js - 60分钟快速入门
Vue.js——60分钟快速入门 Vue.js是当下很火的一个JavaScript MVVM库,它是以数据驱动和组件化的思想构建的.相比于Angular.js,Vue.js提供了更加简洁.更易于理 ...
- 零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形动画
原文:零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形动画 零元学Expression Blend 4 - Chapter 42 五分钟快速完成扇形变圆形 ...
- 【Java】15分钟快速体验阿里Java诊断工具Arthas
[墙裂推荐]15分钟快速体验阿里Java诊断工具Arthas : https://alibaba.github.io/arthas/arthas-tutorials?language=cn&i ...
随机推荐
- 牛客网Java刷题知识点之表达式类型的自动提升
不多说,直接上干货!
- Linux下mysql定时备份及恢复
备份 1.数据库定时备份工作脚本:(日期时间作为名称的压缩文件,解压开是sql脚本) /root/backup/script/backup_mysql.sh 2.备份输出路径: /root/backu ...
- HQL语句中的join fetch
from Paper as paper join fetch paper.authors as authors where authors.id='xxxx'; from Paper as paper ...
- Mysql5.7.6安装和主从配置手册
Mysql5.7.6+ 安装手册 linux server版本 1.下载 http://dev.mysql.com/downloads/mysql/#downloads 2. 检查库文件是否存在 ...
- LVS Direct Routing 直接路由
1. Direct Routing 直接路由 director分配请求到不同的real server, real server处理请求后直接回应给用户,这样director负载均衡器仅处理客户机与服务 ...
- rem 适配屏幕大小
window.onresize=function(){ var html=document.getElementsByTagName("html")[0]; var width=w ...
- nginx配置文件语法高亮
下载文件 nginx.vim https://vim.sourceforge.io/scripts/script.php?script_id=1886 安装 下载 nginx.vim 文件到 ~/.v ...
- @Valid的坑
@Valid 只能用来验证 @RequestBody 标注的参数,并且要写在 @RequestBody 之前
- 转: ZigBee/Z-Stack CC2530实现低功耗运行的配置简介
转: ZigBee/Z-Stack CC2530实现低功耗运行的配置简介http://bbs.elecfans.com/jishu_914377_1_1.html(出处: 中国电子技术论坛) 设备支持 ...
- C#,什么是Attribute?什么特性?怎么被调用?
定制特性attribute,本质上是一个类,其为目标元素提供关联附加信息,并在运行期以反射的方式来获取附加信息(获取到特性类),相当于优雅的为元素添加了一个tag,这个tag是一个类. Attribu ...