ceph源代码分析
hawkerou
林冰
展开
-
Ceph源码分析之Async模块:3. Async+posix的协议栈收发消息模型分析
ceph Async模块提供一种异步收发消息的机制,最底层的异步机制可以查看博文 Ceph源码分析之Async模块:1、异步通信核心模块EventCenter+Epoll,上层的收发消息机制可以查看博文Ceph源码分析之Async模块:2、上层通信模型。因此这里主要介绍的是整个异步消息机制的中间层,即ceph抽象网络协议栈。在L版的ceph中,支持3种Async类型的网络协议栈PosixNetwo原创 2017-03-28 08:27:46 · 3217 阅读 · 0 评论 -
ceph源代码分析之librados:1. AioCompletion回调机制分析
Aio即Async IO,AioCompletion即Async Io Completion,也就是Async IO完成时的回调处理制作,librados设计AioCompletion就是为了提供一种机制对Aio完成时结果码的处理。而处理函数则由使用者来实现。设计librados设计了两个类:AioCompletion、AioCompletionImpl 类的关系图如下: 从上面可以看出,Aio原创 2017-03-28 11:12:09 · 4156 阅读 · 2 评论 -
Ceph源码分析之Async模块:1、异步通信核心模块EventCenter+Epoll
概述EventCenter是Async异步消息通信的核心模块,通过事件/回调模型向上提供异步消息通信,每个Async下的worker线程负责处理一个EventCenter的事件集合。EventCenter针对不同类型的事件使用不同的事件监听来处理事件回调。详细设计事件类型目前EventCenter共支持4种类型的事件,每个worker线程在进入事件处理逻辑的时候,会分别对这4种事件类型的事件进行处理原创 2017-03-23 21:51:03 · 3437 阅读 · 1 评论 -
Ceph源码分析之Async模块:2、上层通信模型
在博文Ceph源码分析之Async模块:1、异步通信核心模块EventCenter+Epoll 里面介绍了Async实现异步通信的底层核心模块。这次打算从上层应用来看ceph的通信模型模型。ceph通信模块的源代码定义在msg目录下,消息类型定义在message目录下面。概述ceph各个组件直接的通信以及和客户端直接的通信都依赖与ceph的通信模块,捋清楚通信模块对阅读源代码会有帮助。 先看一张简原创 2017-03-24 13:45:46 · 2165 阅读 · 0 评论