FastDFS简介

这是一款C语言开发的分布式文件系统,Fast Distribution File Server,为互联网量身定制,充分考虑了冗余备份,负载均衡,线性扩容等。使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传下载服务。

FastDFS架构

FastDFS架构包括 Tracker server和Storage server。客户端请求Tracker server进行文件上传、下载,通过Tracker server调度最终由Storage server完成文件上传和下载。
Tracker server作用是负载均衡和调度,通过Tracker server在文件上传时可以根据一些策略找到Storage server提供文件上传服务。可以将tracker称为追踪服务器或调度服务器。
Storage server作用是文件存储,客户端上传的文件最终存储在Storage服务器上,Storage server没有实现自己的文件系统而是利用操作系统 的文件系统来管理文件。可以将storage称为存储服务器。

FastDFS的架构图:

服务端两个角色:
Tracker:管理集群,tracker也可以实现集群。每个tracker节点地位平等。
收集Storage集群的状态。
Storage:实际保存文件
Storage分为多个组,每个组之间保存的文件是不同的。每个组内部可以有多个成员,组成员内部保存的内容是一样的,组成员的地位是一致的,没有主从的概念。

服务器的安装

我直接使用了安装好的服务器,并安装了Nginx。
详细安装参见:详细安装

上传测试

1、加载配置文件,配置文件中的内容就是tracker服务的地址。
配置文件内容:tracker_server=192.168.25.133:22122
2、创建一个TrackerClient对象。直接new一个。
3、使用TrackerClient对象创建连接,获得一个TrackerServer对象。
4、创建一个StorageServer的引用,值为null
5、创建一个StorageClient对象,需要两个参数TrackerServer对象、StorageServer的引用
6、使用StorageClient对象上传图片。
7、返回数组。包含组名和图片的路径。

//使用全局对象加载配置文件try {ClientGlobal.init("D:\\newIdeaProFile\\e3parentz\\managerwebz\\src\\main\\resources\\conf\\client.conf");TrackerClient tc= new TrackerClient();TrackerServer tk = tc.getConnection();StorageClient sc = new StorageClient(tk,null);String[] strings = sc.upload_file("E:\\moie.jpg", "jpg", null);for (String string : strings) {System.out.println(string);}} catch (Exception e) {e.printStackTrace();}

再通过ip加返回的信息访问:

项目学习记录-图片服务器FastDFS相关推荐

  1. 01-Flutter移动电商实战-项目学习记录

    01-Flutter移动电商实战-项目学习记录 一直想系统性的学习一下 Flutter,正好看到该课程<Flutter移动电商实战>的百度云资源,共 69 课时,由于怕自己坚持不下去(经常 ...

  2. 【网络通信 -- SIP 电话】项目实战记录 -- SIP 服务器 OPENSIPS 搭建测试与 SIP 客户端 PJSIP 编译安装测试

    [网络通信 -- SIP 电话]项目实战记录 -- SIP 服务器 OPENSIPS 搭建测试与 SIP 客户端 PJSIP 编译安装测试 [1]SIP 服务器 OPENSIPS 搭建 1.1 安装环 ...

  3. 分布式图片服务器FastDFS

    分布式图片服务器FastDFS 什么是FastDFS 一.简介和架构 二.FastDFS安装和测试 三,配置nginx代理及安装fastdfs-nginx-module 什么是FastDFS 一.简介 ...

  4. Opencv 入门篇学习记录(图片)

    title: Opencv 入门篇学习记录(图片) Opencv 入门篇学习记录(图片) 前言 很早以前就接触Python了,大学的时候还自学了一段时间去做了课设,写了一些最速梯度下降法.黄金分割法. ...

  5. 卡狗项目学习记录 - Churning Customers Prediction

    卡狗项目学习记录-Churning Customers Prediction 1. 数据预处理 1.1 导入需要的包 1.2 读取数据集 1.3 数据分析 1.3.1 Customer_Age 1) ...

  6. 图片服务器FastDFS的安装及使用

    FastDFS介绍 FastDFS是用c语言编写的一款开源的分布式文件系统.FastDFS为互联网量身定制,充分考虑了冗余备份.负载均衡.线性扩容等机制,并注重高可用.高性能等指标,使用FastDFS ...

  7. 项目学习记录(四)--基于图像检测的AR语文识字应用

    前言: 之前做了ARFoundation的项目,想做利用Vuforia进行一个对比,简单记录下我的编写流程 项目构思: 利用AR技术开发一个有助于小学生学习汉字的读音.字意.字形,了解相似字和偏旁部首 ...

  8. 海思项目学习记录 -2、解析mmp的sample

    1.分析mmp的sample工程 注意:建立SI工程的时候注意要把外面的那个include文件夹加载进来 sample_venc的大体分析 (1)从main入手,main的传参分析 (2)几个基本概念 ...

  9. 品优购项目学习记录--01公共模块制作

    文章目录 一.品优购项目规划 1.1 开发工具以及技术栈 1.1.1 开发工具 1.1.2 技术栈 1.2 品优购项目搭建工作 1.2.1 相关文件夹以及文件创建 1.2.2 模块化开发 1.2.3 ...

最新文章

  1. Netty傻瓜教程(五):不能不谈Redis
  2. 贯通Java Web开发三剑客
  3. python是脚本语言、需要编译器编译执行_使用Notepad++编译运行C/C++/Python程序
  4. 【最全干货下载】| DTCC 2020:阿里云数据库9大要点精彩回顾
  5. 2020年python2停止更新_Python核心团队计划2020年停止支持Python2,NumPy宣布停止支持计划表...
  6. 【华为云技术分享】云小课 | 初识HiLens Kit,解锁更多智慧应用场景
  7. 华为商城抢手机软件_华为p40配置详细参数
  8. python3.6.5安装成功为什么打不开_记录centos+python3.6.5安装ipython遇到的坑
  9. 一个简单的模拟键盘鼠标操作的类
  10. python注册大漠插件,大漠插件安装包
  11. HLW8032做220V电量采集方案测试
  12. C# 之 TcpClient和Socket
  13. 《Inter汇编语言程序设计》8.6 创建多模块程序(ENTERN)
  14. CleanMyMac X2023最新版安装图文详解
  15. 我,27岁,数据分析师,今年无情被辞:想给数据人提个醒!!
  16. ps抠图技巧之图层样式
  17. flutter图片聊天泡泡_Flutter 非常丰富的消息气泡效果合集
  18. 更改Windows桌面位置为D盘
  19. Mockito3.8 如何mock静态方法 (如何mock PageHelper)
  20. 瑞萨单片机c语言程序,瑞萨单片机开发环境系统用户手册.pdf

热门文章

  1. HTML5庆祝生日蛋糕烟花特效
  2. python减法报错_python – numpy FloatingPointError:减法中遇到的值无效 – 不可重现?...
  3. 车载多媒体音频协议转换器
  4. LAN口和WAN口的区别是什么?
  5. 火车购票系统服务器端uml活动图,火车购票系统uml类图-时序图-状态图-协作图-活动图-对象图--用例图.doc...
  6. 硬盘容量限制变化历史
  7. uniapp真机运行app失败IOS端
  8. 码教授好不好?看服务了
  9. win11安装VMware的顺畅之路
  10. STEAM教育培训项目首页