Fastdfs
唐墨123
我的生涯一片无悔,我想起那天夕阳下的奔跑,那是我逝去的青春。
展开
-
Fastdfs源码分析5----定时器设计
fastdfs的定时器,设计方法为:时间轮。就是一组超时时间相似的定时器,挂载一条链表上面进行。多组链表映射在哈希表上面按照我们的传统,直接上源码,自己拉下去读。(已经经过详细的注释)#ifndef __FAST_TIMER_H__#define __FAST_TIMER_H__#include <stdint.h>#include "common_define.h"...原创 2020-02-25 12:25:42 · 376 阅读 · 0 评论 -
Fastdfs源码分析4----缓存区设计
说到缓存区,是一个可复制可简单的问题。有的缓存区,自带文件持久化,日志,多线程和线程重入 ,智能扩容/缩容。缓冲区在下读过linux kernel、muduo、llibevent的设计。这三种是比较专业一些缓存区。剥离外在,缓存区的主要用于有两方面:作为消息载体,在内存进行消息的缓存和传递;利用内存外存的速度差距,作为提高磁盘io性能的一个组件。余庆写的代码有一种风格:朴实无华,轻抽象、重...原创 2020-02-25 11:13:35 · 573 阅读 · 0 评论 -
Fastdfs源码分析3----哈希管理器设计
记得在4年以前,在下刚刚读完linux 1.0内核源码,当时意气风发,无惧无畏。总感觉看任何c代码都没有问题,如履平地。甚至跟对着北京一家中科院的博士掷下豪言说:自己的c语言编程水准,敢于接受任何的挑战。不料,看余庆大神的哈希表时,就没有完全看明白,虽然当时懂了大部分。时光荏苒,中间做了一端是时间c后就开始用c++编程。越多了大量的开源库,c已经忘却(在写c++时会觉得c真的垃圾)。4年...原创 2020-02-24 21:15:29 · 1914 阅读 · 2 评论 -
Fastdfs源码分析2----链表设计
libfastcommon是从Fastdfs源码提取的库,其中list设计为有头双链表。 设计方法明显是参照linux kernel。−−−−Tangshuncai\color{#222514}{-}\color{#222514}{-}\color{#222514}{-}\color{#222514}{-}\color{#4285f4}{T}\color{#ea4335}{a}\color{...原创 2020-02-23 13:36:52 · 393 阅读 · 0 评论 -
Fastdfs源码分析1----内存池解析
fastdfs依赖库libeventlibfastcommonlibevnet都知道是一个高性能的轻量级网络库,设计模式为reactor反应堆模式。Fastdfs原本只有一个工程源码。在某个版本开始走模块化道路,作者把像一些通用的组件从源码中剥离,做成了一个单独的库libfastcommon。该库包含以下内容:字符串处理、内存储 、文件写缓存、base64、ini配置文件解析器、...原创 2020-02-22 18:49:58 · 1016 阅读 · 0 评论 -
Fastdfs 集群搭建(centos8)
安装libevent(用于网络通讯)[root@bogon ~]# yum install libevent libevent-devel -yLast metadata expiration check: 0:00:32 ago on Wed 19 Feb 2020 03:12:07 AM EST.Package libevent-2.1.8-5.el8.x86_64 is already...原创 2020-02-19 17:53:39 · 3995 阅读 · 0 评论