资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 系统运维 > 运维 > Linux

DCache-CacheServer分析(一)

Linux 更新时间: 发布时间: 计算机考试归档 最新发布

DCache-CacheServer分析(一)

2019年12月7日

 本文对DCache的存储服务CacheServer做了总体介绍,让大家对存储服务有初步的了解。

DCache版本:1.0.1

一、服务列表

启动时会启动多个服务对象:

  • BackUpObj,         备份、恢复服务,
  • BinLogObj,           binlog处理
  • CacheObj,            缓存读服务,
  • WCacheObj            缓存写服务,
  • ControlAckObj,   备机上报心跳给主节点,     
  • RouterClientObj, 上报心跳给Router
二、运维指令

支持的指令如下:

help:                    显示支持的指令列表
status:                  显示Server的状态信息
statushash:              (help指令中无解释)
reload:                  重新加载配置
syncdata:                回写所有脏数据
cachestatus:             内存使用情况
binlogstatus:            binlog同步情况
ver:                     显示Cache版本
erasedatainpage:         删除指定页范围内的数据
erasewrongrouterdata:    删除不属于此cacheserver的页
servertype:              显示服务状态,是主还是备
key:                     显示信号量或者共享内存key
dirtystatic:            统计不可淘汰的脏数据
calculateData:           统计未被访问数据大小
resetCalculatePoint:     (help指令中无解释)
setalldirty:            将cache内全部数据设置成脏数据
clearCache:              清空cache,危险操作,请三思

其中,以下命令在”help”指令中会展现,但没有对应的实现方法:

recreatedata,    备机重建数据
三、服务初始化顺序

1.拉取配置文件,读配置

2.注册服务对象

3.注册运维指令

4.属性上报服务(tarsproperty)初始化

5.状态上报服务(tarsstat)初始化

6.初始化RouterHandle,初始化路由信息

7.设置组信息

8.设置允许产生coredump的大小

9.初始化字段信息

10.生成binlog文件

11.启动定时生成binlog文件线程(_createBinlogFileThread)

12.hashmap初始化

  • 读取SemKey.dat
  • 共享内存初始化

13.MKCacheToDoFunctor 初始化

14.内存结构初始化(g_HashMap)

15.判断是否正在恢复数据(SlaveCreating.dat)

16.是否正在备份数据(dumping)

17.确定server启动模式,是master还是slave

18.主节点上报重启信息

19.创建获取Binlog日志线程(_syncBinlogThread)

20.创建获取备份源最后记录binlog时间的线程(_binlogTimeThread)

21.创建定时作业线程,负责读取路由表和回写脏数据等等(_timerThread)

22.创建淘汰线程(_eraseThread)

23.创建回写脏数据线程(_syncThread)

24.创建定时上报心跳线程(_heartBeatThread)

25.创建删除数据线程(_deleteThread),有开关

26.创建自动过期数据线程(_expireThread),有开关

27.创建回写所有脏数据线程(_syncAllThread)

28.初始化 EraseDataInPageFunctor

29.创建线程池_tpool,用来执行后台操作(1个线程)

30.启动统计线程,(_dirtyStatisticThread)

31.创建统计未访问数据线程(_clodDataCntingThread),有开关


写在最后

本文对DCache的概况做了整体介绍,帮助大家对DCache的各个Servant和服务处理流程有初步的了解。

后续,我会分多篇文章分别介绍每个线程(cpp文件)的处理流程。

转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/844338.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【DCache-CacheServer分析(一)】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2