分类存档: 分布式
时间戳实现
kafka2.0源码计划之-broker总览
用了近两年的kafka 0.10.1.1版本后,我们终于要废弃它了。在这个版本上,可以说是吃尽了苦头,其中的问题有自身对于kafka的理解不深入,也有kafka自己的bug问题。当流量小的时候,一切看起来都是那么美好,当流量到千亿级别时候,就是另一回事情。
阅读全文…
Flume – 0.9.4 解析
现在自己手上维护的一个项目是基于Flume0.9.4这个版本做的数据传输,所以必须去了解下Flume这个版本的一些设计.下面提到的Flume都指0.9.4这个版本,除非特别指出是其他版本。
这个世界上,没有坏的工具,只有把工具用坏的人。能做一个简单系统的才是牛逼的人。做设计其实跟读书没什么不同,读书的过程是先把书读厚,再读薄,设计也是如此,先把系统做复杂,再把系统做简单。
这篇不会按部就班的去解构Flume的一些东西,没什么意义。会按照自己的理解过程来做剖析。
阅读全文…
设计–断路器模式
一 面临问题
分布式服务的容错是一个不得不考虑的问题,通常的做法有两种。
重试机制:预期是因为一些短暂的故障问题,通过重试是可以解决的。
断路器模式:发生故障,而且故障是不可预期的,设置一个超时时间来等待返回结果,若是失败的话返回一个null值来解决服务调用。
继续延伸的看断路器充当可能失败操作的代理。代理应监测最近发生的故障数量,然后使用这个信息来决定是否允许该操作继续进行,或简单地立即返回一个异常。
阅读全文…
HDFS
HDFS能解决的问题
1.可以存储几百万个大型文件,每个文件可以超过几十G,文件系统的容量可以达数十PB
2.利用横向扩展模式,使用基于磁盘簇而非磁盘整列的普通商用服务器实现大规模数据存储,同时在应用层完成数据的复制以实现存储的可用性和高吞吐量。
3.优化是针对大型文件的流式读写处理,而非满足小文件的低延时访问。批量的处理能力比互动响应的实时性更加重要
4.能容忍机器某些部件故障和磁盘失效
5.支持M/P处理锁需要的功能和规模要求
阅读全文…
zookeeper的简单集群搭建
1.zookeeper安装和使用
包下载地址 :http://zookeeper.apache.org/releases.html#download
阅读全文…