
分布式计算
tang_fu
这个作者很懒,什么都没留下…
展开
-
GlusterFS集群文件系统研究
http://blog.youkuaiyun.com/liuben/article/details/6284551 GlusterFS集群文件系统研究 刘爱贵 1. GlusterFS概述 GlusterFS是Scale-Out存储解决方案Gluster的核心,它是一个开源的分布式文件系统,具有强大的横向扩展能力,通过扩展能够支持数PB存储容量和处理数千客转载 2012-06-29 10:30:56 · 1140 阅读 · 0 评论 -
Thrift之TProcess类体系原理及源码详细解析
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7628079 http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7628079 之前对Thrift自动生成代码的实现细节做了详细的分析,下面进行处理层的实现做详细分析了!会利用到自动代码生成的知识。 这部分是协议层和用转载 2012-06-29 10:40:15 · 430 阅读 · 0 评论 -
Glusterfs之rpc模块源码分析(下)之RDMA over TCP的协议栈工作过程浅析
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7566779 第一节 RDMA概述 随着网络带宽和速度的发展和大数据量数据的迁移的需求,网络带宽增长速度远远高于处理网络流量时所必需的计算节点的能力和对内存带宽的需求,数据中心网络架构已经逐步成为计算和存储技术的发展的瓶颈,迫切需要采用一种更高效的数据通讯架构。转载 2012-06-29 10:42:23 · 810 阅读 · 0 评论 -
Glusterfs之rpc模块源码分析(中)之Glusterfs的rpc模块实现(3)
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7566768 第三节、rpc通信过程分析 前面两个小节分别对rpc服务端和客户端的建立流程做了详细的分析,也就是说rpc客户端和服务器端已经能够进行正常的通信了(rpc客户端已经通过connect链接上rpc服务器了),那么这一小节主要根据一个实际的例子来分析一个完整的rp转载 2012-06-29 10:43:39 · 488 阅读 · 0 评论 -
Glusterfs之rpc模块源码分析(中)之Glusterfs的rpc模块实现(2)
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7566757 第二节、rpc客户端实现原理及代码分析 rpc客户端主要发起一个rpc请求,执行完rpc请求以后就退出rpc,下面分析客户端rpc请求建立的整个过程。Rpc客户端请求建立的第一步是执行cli_rpc_init函数,主要实现代码如下:转载 2012-06-29 10:44:54 · 359 阅读 · 0 评论 -
Glusterfs之rpc模块源码分析(中)之Glusterfs的rpc模块实现(1)
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7561796 二、Glusterfs的rpc模块实现 第一节、rpc服务器端实现原理及代码分析 1.rpc服务初始化 Rpc服务的初始化工作在函数rpcsvc_init中实现的,实现代码如下: rpcsvc_t * rpcsvc_init (glusterfs_c转载 2012-06-29 10:45:54 · 376 阅读 · 0 评论 -
分布式日志收集系统:Facebook Scribe
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7065370 下是我在公司内部分享的关于分布式日志收集系统的PPT内容,现在与大家分享,希望对于需要使用的人能够起到基本的入门作用或是了解! 1.分布式日志收集系统:背景介绍 许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需转载 2012-06-29 10:58:31 · 587 阅读 · 0 评论 -
Thrift之TProtocol类体系原理及源码详细解析之紧凑协议类TCompactProtocolT(TCompactProtocol)
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7654475 这个协议类采用了zigzag 编码,这种编码是基于Variable-length quantity编码提出来的,因为Variable-length quantity编码对于负数的编码都需要很长的字节数,而zigzag 编码对于绝对值小的数字,无论正负都可以采用较转载 2012-06-29 10:33:43 · 467 阅读 · 0 评论 -
GlusterFS之内存池(mem-pool)使用实例分析
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7515536 第一步:分配和初始化: cli进程在初始化的过程中会涉及到内存池的建立和初始化,具体涉及到内存池初始化的代码如下(在cli.c文件中的glusterfs_ctx_defaults_init函数): [cpp] view plaincopy转载 2012-06-29 10:50:46 · 351 阅读 · 0 评论 -
Thrift之TProtocol类体系原理及源码详细解析之类继承架构分析
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7632665 这部分相关的类主要实现与协议相关的内容,这里说的协议是指对数据传输格式封装的协议,实现不同的协议来适合不同场景下的数据传输,因为在不同的场景下不同协议对于数据传输来说效率有很大的差别。下面是这个部分相关类的类关系图: 由以上类图可以发现所有的协议类都从转载 2012-06-29 10:37:40 · 423 阅读 · 0 评论 -
Thrift之TProtocol类体系原理及源码详细解析之二进制协议类TBinaryProtocolT(TBinaryProtocol)
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7636309 这个协议是Thrift支持的默认二进制协议,它以二进制的格式写所有的数据,基本上直接发送原始数据。因为它直接从TVirtualProtocol类继承,而且是一个模板类。它的模板参数就是一个封装具体传输发送的类,这个类才是真正实现数据传输的。这个类的定义上一节举例转载 2012-06-29 10:35:48 · 385 阅读 · 0 评论 -
Thrift之TProtocol类体系原理及源码详细解析之JSon协议类TJSONProtocol
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7657915 JSON (JavaScript Object Notation)是一种数据交换格式,是以JavaScript为基础的数据表示语言,是在以下两种数据结构的基础上来定义基本的数据描述格式的:1) 含有名称/值对的集合;2) 一个有序的列表。对于 JSO转载 2012-06-29 10:32:21 · 368 阅读 · 0 评论 -
Glusterfs之rpc模块源码分析(上)之RPC概述
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7561786 一、RPC概述 第一节、RPC结构网络 RPC(Remote Procedure Call Protocol)——远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。RPC协议假定某些传输协议的存在,如TCP或UDP原创 2012-06-29 10:46:46 · 411 阅读 · 0 评论 -
Glusterfs之nfs模块源码分析(下)之NFS协议之RPC的实现和NFS协议内容
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7551921 六、NFS协议之RPC的实现 因为nfs服务器启动时的端口是不确定的,所以nfs服务器将自己的端口注册到rpc服务,客户端通过rpc请求知道nfs服务器的监听端口。下面就分析整个rpc的处理过程。现在假设客户端有一个rpc请求达到服务器端了,通过上面nfs协议原创 2012-06-29 10:47:55 · 371 阅读 · 0 评论 -
Glusterfs之nfs模块源码分析(中)之Glusterfs实现NFS服务器
五、Glusterfs实现NFS服务器 第一节、启动过程分析 Glusterfs的nfs服务器启动命令如下: /usr/local/sbin/glusterfs -f /etc/glusterd/nfs/nfs-server.vol -p /etc/glusterd/nfs/run/nfs.pid -l /usr/local/var/log/glusterfs/nfs.log转载 2012-06-29 10:49:08 · 418 阅读 · 0 评论 -
Glusterfs之nfs模块源码分析(上)之nfs原理和协议
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7544214 一、网络文件系统概述 Sun Microsystems公司于1984年推出了一个在整个计算机工业中被广泛接受的远程文件存取机制,它被称为Sun的网络文件系统(Network File System),或者简称为NFS。该机制允许在一台计算机上运行一个服务器,使转载 2012-06-29 10:49:55 · 770 阅读 · 0 评论 -
GlusterFS之内存池(mem-pool)实现原理及代码详解
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7505742 最近一直在研究glusterfs的源代码,自己也在上面做了一些小的改动。我最开始研究的是3.2.5这个版本,因为据同行和网上资料显示这个版本目前是最稳定的版本。glusterfs实现比较复杂,具体的设计思想和架构就不详细介绍了,网上有这方面的资料(优快云博客里面就有很转载 2012-06-29 10:51:34 · 413 阅读 · 0 评论 -
Thrift之代码生成器Compiler原理及源码详细解析3
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7491924 这个功能是由t_cpp_generator类实现(在文件t_cpp_generator.cc定义和实现),直接继承至t_oop_generator类(这个类是所有面向对象语言生成器类的直接基类,封装了面向对象语言生成器共有的特征与行为),而t_oop_gener转载 2012-06-29 10:52:29 · 360 阅读 · 0 评论 -
Thrift之代码生成器Compiler原理及源码详细解析1
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7491821 Thrift之代码生成器Compiler原理及源码详细解析1 这个功能是一个单独的工具程序,它会独立的生成一个可执行文件。 第一节 类关系图 本节主要展示了这个部分的整体类图,然后对这个类图做了简要的说明,有了这个类图让我在阅读这个转载 2012-06-29 10:54:17 · 404 阅读 · 0 评论 -
Thrift之代码生成器Compiler原理及源码详细解析2
http://blog.youkuaiyun.com/wanweiaiaqiang/article/details/7491877 2 t_generator类和t_generator_registry类 这个两个类的主要功能就是为生成所有语言的代码提供基础信息和提供具体代码生成器对象,上面就是调用这个两个类的方法来生成具体语言的代码生成器对象和执行生成代码的功能函数。下面主要分析两个函转载 2012-06-29 10:53:17 · 362 阅读 · 0 评论