小伙伴们的ceph源码分析三——monitor消息处理流程

本文详细探讨了Ceph存储系统中Monitor的内部工作机制,重点关注Monitor与MonClient之间的交互,以及在处理特定消息类型时的角色。通过分析`src/mon/monitor.cc`、`src/tools/ceph.cc`中的关键代码,揭示了Monitor服务端如何响应客户端请求,特别是对于`CEPH_MSG_MON_MAP`等关键消息的处理。同时,澄清了命令行工具`ceph mon dump`的工作原理,指出其并不直接涉及MonClient,而是通过`src/tools/ceph.cc`入口进行操作。
摘要由CSDN通过智能技术生成

原文链接:http://blog.csdn.net/kakaxi8891/article/details/10935595

笔者在读代码初期非常想理清楚的就是ceph这么个系统在服务端与客户端是怎么响应与发起请求的。

本人主要负责monitor部分,而且追了一会cephx认证的代码,所以拿这块举例,后续osd部分主要是对同事分享的学习。

本篇会讲到src/mon/monitor.cc中

class Monitor : public Dispatcher

class MonClient : public Dispatcher 

以及src/tools/ceph.cc

这三者的关系:


前一篇讲到ceph-mon.cc中启动了monitor的进程,而启动的过程伴随着一些消息队列的启动:

void SimpleMessenger::ready()

{

  ldout(cct,10) << "ready "<< get_myaddr()<< dendl;

  dispatch_queue.start();//消息接收队列启动

  lock.Lock();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值