本文主要是介绍glusterfs 源码框架学习归纳总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
网上有关glusterfs的源码分析文章还是挺多,这里总结我看过的理解,及其相关资源。
当然,由于挺久没看代码了,现在主要凭印象,再加上自己收集的网页和笔记,感觉深刻的写出来,重点是讲的是思想而非技术细节。
另外,本人能力有限,再加上主要利用业余时间看,不是工作性质,看的也就没那么深那么细节,更多是框架相关,比较适合入门看感觉。
有错误,望指正! 有好资源望共享,有不同想法观点望交流!共勉交流万岁!
1.服务端(glusterfsd),客户端(glusterfs),管理程序(glusterd)同一main入口
首先,glusterfs这个框架类似于网络协议栈框架,xlator结构体就是代表一个功能层(相当于一个网络协议层), 这个glusterfsd.c:main 主要就是搭建起xlator这棵树和必要的资源,具体功能在的相应的xlator中,可以看出该架构垂直扩展,添加功能很容易 。即这个main就是通用的初始化流程, 该程序是服务端还是客户端等等,就看这颗树是咋迭堆xlator的。
相关源码分析资料参考(大体流程没啥出入):
glusterFS源码结构分析.pdf - 下载频道 - CSDN.NET
GlusterFS 主函数工作流程_百度文库
2. xlator 架构
glusterfs架构最核心的结构体, xlator就相当于用c语言实现的对象(OO), 参考 GlusterFS:xlator基础源码研究 这篇写的就很好了。 此外,个人觉得,看源码时候,适时用面向对象思想看,不要只跟数据流走,走通不意味着理解深刻,比较好。
这篇关于glusterfs 源码框架学习归纳总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!