TFS 源码分析
shark.zyq
work@alibaba
hangzhou
展开
-
dataserver 源码分析(二) 启动服务
一、创建工作目录,检查进程是否存在,创建日志路径等初始化步骤 二、初始化网络框架(tbnet),并设置NewClientManager中的async_callback_entry为BaseService::golbal_async_callback_func,用于后续回调。 三、开启PacketQueueThread类型的main_workers_,用于对到达dataserver端的包进行处理。 四、创建工作目录:data/tfs1/dataserver_1/storage ../tmp ../mirro原创 2014-09-05 16:01:10 · 1071 阅读 · 0 评论 -
dataserver 源码分析(三) 读写数据
超级块格式: //| reserve | SuperBlockInfo | {BlockIndex| ... |BlockIndex} | 索引块格式: //| IndexHeader | common::FileInfoV2|common::FileInfoV2| ... |common::FileInfoV2 | 数据块格式: //| reserve | FileInfoInDiskExt + data|Fi原创 2014-09-10 11:33:49 · 642 阅读 · 0 评论 -
TFS 客户端源码分析(c++)
TFS中客户端RcClient类作为用户交互类。(clientv2) 一、initialize方法,提供初始化客户端,向rc申请app_id等一系列信息 1、开启Transport,接受读写事件。创建connectionManager对象,并设置NewClientManager类为客户端请求回复包回调接口。初始化成功。 2、调用login方法。根据app_key,app_ip(本地ip)向rc获取session_id(session_id可以解析出app_id),base_info(包含了集群的信息,以及集原创 2014-09-03 16:58:24 · 848 阅读 · 0 评论 -
dataserver 源码分析(一) 格式化
一、磁盘格式化、挂载 现有TFS可以在一台服务器上启动多个DataServer进程。一般每个DataServer进程负责一个磁盘。 将数据盘格式化成EXT4文件系统,并挂载到/data/tfs1至/data/tfs(i),其中i为磁盘号。原创 2014-09-05 11:36:56 · 808 阅读 · 0 评论