FastDFS
zwleagle
这个作者很懒,什么都没留下…
展开
-
FastDFS FastTracker 分析(version:3.11)
FastTracker进程总共有9个线程(默认配置, 根据配置文件可以更改工作线程(work_thread_entrance)数量)在运行:1: 主进程创建其他进程后主要就是在listen客户端的连接:tracker_accept_loop: 每当一个连接进来, 就将socket号传递给工作线程work_thread_entrance线程; 传递采用了libevent原创 2012-09-28 15:45:28 · 1101 阅读 · 0 评论 -
FastDFS下载文件测试 ./fdfs_test %FastDFS%/conf/client.conf download (version:3.11)
在虚拟机上安装了FastDFS, 上传测试正常, 但在下载是总是文件名格式不正确, 由于FastDFS下载文件时的文件名需要采用前面是FastDFS默认生成的目录名: 如00/00, AA/AA才能正确下载./fdfs_test %FastDFS%/conf/client.conf download group1 00/00/CowXd1BQhA7jF-mjAAAALrcEX原创 2012-09-28 15:47:39 · 6287 阅读 · 1 评论 -
FastDFS trunk 数据结构 (version:3.11)
trunk 中以的树以size为key(tree_info_by_size)的AVL树中的数据是FDFSTrunkSlot *chain 的方式保存的, FDFSTrunkSlot下面保存着相同大小的node(fast_mblock_node)链表, 所以以size查找时找到的是一个相同大小node的链表。函数: trunk_add_free_blockrunk 中以的树以原创 2012-09-28 15:41:58 · 1324 阅读 · 1 评论 -
FastDFS storage server IP 更改 (version:3.11)
当storage启动时,会将以前存在文件中的IP(文件.data_init_flag, 不是第一次启动)和现在的IP 比较,如果IP改变了,就会将IP 变化的情况告诉Tracker(TRACKER_PROTO_CMD_STORAGE_REPORT_IP_CHANGED); Tracker将更新原来的storage的IP地址, 但原来的IP继续保留在server列表中(内部的字段改为默认值); 状态原创 2012-09-28 15:44:07 · 3987 阅读 · 0 评论 -
FastDFS trunk binlog的A ,D (version:3.11)
看FastDFS的trunk操作时, 开始以为binlog中记录的A, D是表示小文件在trunk中的增加和删除文件的操作; 后来比较代码和binlog文件才发现原来是表示空闲空间的操作: FastDFS 中进行trunk操作时, 会将操作过程记录到trunk下的binlog中, 记录的A(TRUNK_OP_TYPE_ADD_SPACE)和D(TRUNK_OP_TYP原创 2012-09-28 15:43:16 · 1769 阅读 · 0 评论 -
FastDFS storage 分析 (version:3.11)
storage的整体结构和tracker很相似,因为storage涉及到写文件,因此多了几个主要的任务;主要是IO的读写任务:dio_thread_entrance;storage 处理消息的流程: 处理连接请求: storage_accept_loop 发送事件给---->storage_recv_notify_read(FDFS_STORAGE_STAGE_NIO_INI原创 2012-09-28 15:44:46 · 959 阅读 · 0 评论 -
FastDFS Storage的加入和同步 (version:3.11)
线程tracker_report_thread_entrancestorage请求加入:storage --->trackerTRACKER_PROTO_CMD_STORAGE_JOIN消息中携带有storage的group name, IP, port,加入时间,storage启动时间等信息;还有一个是stora原创 2012-10-08 18:34:10 · 2474 阅读 · 0 评论