Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1940361
  • 博文数量: 1000
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 7921
  • 用 户 组: 普通用户
  • 注册时间: 2013-08-20 09:23
个人简介

storage R&D guy.

文章分类

全部博文(1000)

文章存档

2019年(5)

2017年(47)

2016年(38)

2015年(539)

2014年(193)

2013年(178)

分类: 服务器与存储

2017-01-24 09:52:09

本文基于Jewel版本对Ceph的网络模块进行分析,主要针对AsyncMessenger的方式。

这里写图片描述

  • Ceph依据节点功能可以将节点划分为4种类型,分别是Client、OSD、Monitor和MDS。每个节点由Dispatcher(消息调度器)集合和Messenger(消息管理器)集合两部分组成。Dispatcher是消息的订阅者,对接收的消息进行处理或者将需要发送的消息移交给本节点Messenger,不同的节点类型和消息类型对应Dispatcher的类型也不同;Messenger是消息的发布者,能将Dispatcher移交的消息发布给其它节点的Messenger或者从其它节点的Messenger接收消息并将其移交给本节点的Dispatcher,实现不同节点之间的消息交互。一个节点根据需求会注册一个或者多个Messenger和多种不同类型的Dispatcher(每种类型一个)。

  • 以osd类型的节点为例,一个osd节点会创建6个Messenger来管理消息,每个Messenger的用途不一样。比如ms_public主要用于osd和client之间的消息交互,ms_cluster用于osd节点之间的消息交互等等。一个osd节点还会创建3种类型的Dispatcher来处理该节点消息,分别为HeartbeatDispatcher类型,OSD类型和Objecter类型的,其中OSD类型的Dispatcher可以处理部分osd节点的消息。

阅读(1258) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~