自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 大量资源访问--锁设计

我们考虑这样一个场景:如果有大量的

2014-09-16 11:28:19 756

原创 TFS源码(基于1.3.1)分析--存储流程

File的存储分为3步,open,write和closeopen会检查chunk和id的相关属性,也就是和nameserver进行通信,如果chunkid和fileid为0,则nameserver会分配chunkid,dataserver会分配fileid(在write的时候分配fileid)。nameserver会根据chunkid和fileid,查找该chunk的版本,租约id以及

2013-07-04 11:28:37 1478

原创 TFS分析(基于1.3.1) -- BlockId 的生成

TFS的官方文档里面提到:在TFS中,将大量的小文件(实际数据文件)合并成为一个大文件,这个大文件称为块(Block), 每个Block拥有在集群内唯一的编号(Block Id), Block Id在NameServer在创建Block的时候分配。对此有如下疑问:DataServer在初始化的时候就已经将所有的block全部建立出来了,nameServer在什么时候来通知DataServe

2015-06-10 11:00:11 654

转载 Redis 2.8版部分同步功能源码浅析-Replication Partial Resynchronization

前面的2篇文章分别介绍了Redis主从同步源码浅析-Master端 以及 Redis主从同步源码浅析-Slave端 相关的代码实现,从中我们可以看出redis主从同步的一个最大的缺点,也是阻碍大数据应用的地方便是其每次连接端开都需要重连master进行全量数据的重新同步,这个代价是可想而知的。长连接断开在线上环境中出现得很频繁,如果需要重新同步所有RDB文件,几十G的文件,从建立RDB快照

2015-04-23 18:04:09 3596 1

转载 Redis主从同步源码浅析-Slave端

前一篇文章写了下redis主从同步的server端代码,这里补一下slave端的。简单来讲,看了master端就知道slave端的代码大概流程了:中断跟本slave的下一级slave的连接,强迫其重连SYNC;给master发送PING确认其状态是否OK;发送SYNC要求master做RDB快照(2.8版本以上会有PSYNC的指令,也就是部分同步,下回介绍。);接收RDB文件大小;

2015-04-23 18:02:14 2111

转载 Redis主从同步源码浅析-Master端

关于Redis的主从同步的基本介绍这里有:Replication, 不多介绍了。本文只涉及到主库的代码,从库的相关代码改天补上。这里主要介绍redis 2.6.13版本代码,目前2.8新增了一些功能,比如增量同步功能等,不过到目前2013-10-05还没有正式上线。总结一下几点跟下面相关的:同步采用类似mysql的操作日志重放方式,将写操作分发到从库重放。每次从库启动必须从主库重新

2015-04-23 18:01:06 1338

原创 Redis数据增量同步优化可行性分析

一、Redis现有同步策略1、增量同步功能组成部分1)  主服务器的复制偏移量和从服务器的复制偏移量;  主服务器每次向从服务器传播N个字节的数据时,就将自己的复制偏移量的值加N; 从服务器每次收到主服务器传播来的N个字节的数据时,就将自己的复制偏移量的值加上N。2)  主服务器的复制积压缓冲区;由主服务器维护的一个固定长度队列,默认为1M,当主服务器进行命令传播时,它不仅

2015-04-09 18:12:12 4505 1

原创 批量选举的递归实现

背景:分布式存储系统里,文件是分块存储的,如果每个文件块是1M,那么1G的文件就会有1024个文件块。系统需要为每个文件块分配合适的存储节点,这个过程我们称为选举。问题:如果为每一个文件块都选举一次,那么1G的文件需要选举1024次,这样对系统要求较高,耗时较长。但如果为1024个文件块选举一次,那么会导致文件分布不均匀,同时如果存储节点没有足够的空间,会导致选举失败。解决思路:默认按64

2014-12-26 17:33:58 391

原创 RPC接口设计随想

在分布式系统中,通常采用RPC作为服务器之间的交互,这样

2014-09-10 17:23:50 678

原创 TFS分析(基于1.3.1) -- 配置

TFS 1.3版本主要由nameserver和dataserver组成,其他的程序为辅助服务,例如tfstool,就是可以使用shell直接操作TFS(插入,更新,读取等) 1、配置nameserver和dataserver共享一个配置文件tfs.conf后期版本将tfs.conf这个配置项拆分为多个,也是由于辅助的服务增多导致的,其中ns.conf是nameserver的配置文件

2013-07-04 11:36:04 812

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除