摘要: 一般来说,我们写个客户端程序大概的样子是这样的: 我们这里按照程序执行的思路,一句一句的解读程序的执行过程。 1、 fs2 = glfs_new (argv[1]); 1.1 这句内部定义如下:在(glfs.c中)pub_glfs_new 到这里,基本内存资源都已经初始化完毕了,event_pool 阅读全文
posted @ 2018-04-23 22:58 我想我是鸟 阅读(1260) 评论(0) 推荐(0) 编辑
摘要: 转发 https://blog.csdn.net/qq_35440678/article/details/78080431 什么是paxos协议?Paxos用于解决分布式系统中一致性问题。分布式一致性算法(Consensus Algorithm)是一个分布式计算领域的基础性问题,其最基本的功能是为了 阅读全文
posted @ 2018-11-29 08:22 我想我是鸟 阅读(363) 评论(0) 推荐(0) 编辑
摘要: 官方下载地址:http://redis.io/download, 不过官方没有64位的Windows下的可执行程序, 目前有个开源的托管在github上, 地址:https://github.com/ServiceStack/redis-windows 点击这个地方, 下载文件并解压到自己的电脑目录 阅读全文
posted @ 2018-11-25 14:18 我想我是鸟 阅读(1595) 评论(0) 推荐(0) 编辑
摘要: 1、iobuf用来收发数据时候使用的缓冲区,由iobuf_pool来管理使用。 在iobuf.h中定义了如下几个机构体: 在iobuf.c开头定义了一个数组,此数组作为全局变量,定义了有8种大小的iobuf。 每一个记录表示某类型iobuf的页面大小以及在anena中的数量, 也就是说某个类型iob 阅读全文
posted @ 2018-04-24 22:30 我想我是鸟 阅读(594) 评论(0) 推荐(0) 编辑
摘要: socket.c在4000行位置定义了一组结构函数,我们可以从这里开始找到入口,如果是客户端则需要调用connect, 如果是服务端则需要调用listen, 在connect函数的第3541行处,将socket加入到eventpool的监控范围, 阅读全文
posted @ 2018-04-23 22:48 我想我是鸟 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 1. 前言 在C语言i中,存储变量的结构体加上一组函数指针,大概就可以算是一个对象模型了;如果将一组函数指针捆绑为结构体, 后期根据配置或者环境需要绑定到不同实现模块中的一组函数,可以认为是C语言面对对象的设计实现了。 2. 概述 事件模型,定义在"libgusterfs/src/"下几个文件中: 阅读全文
posted @ 2018-04-17 21:14 我想我是鸟 阅读(547) 评论(0) 推荐(0) 编辑
摘要: Jimmy的文档:Glusterfs的rpc模块分析 第一节、rpc服务器端实现原理及代码分析 第二节、rpc客户端实现原理及代码分析 第三节、rpc通信过程分析 经过阅读源码对比之前提及的文档,我个人理解的rpc_client对象如下图, 阅读全文
posted @ 2018-04-17 20:30 我想我是鸟 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 关于3.2.5版本分析,详见《GlusterFS之内存池(mem-pool)实现原理及代码详解》 此4.0.1版本内存池与版本3中的描述变化有点大,总的原理还是类似LINUX中的SLAB算法,定义一系列大小类型的池子, 1. 一共定义了15个池,每个池子大小都是依次幂级数增长的 结构体 mem_po 阅读全文
posted @ 2018-04-15 19:10 我想我是鸟 阅读(455) 评论(0) 推荐(0) 编辑