11 2013 档案

摘要:在接收到 protobuf 数据之后,如何自动创建具体的 Protobuf Message 对象,再做反序列化。“自动”的意思主要有两个方面:(1)当程序中新增一个 protobuf Message 类型时,这部分代码不需要修改,不需要自己去注册消息类型,不需要重启进程,只需要提供protobuf文件;(2)当protobuf Message修改后,这部分代码不需要修改,不需要自己去注册消息类型,不需要重启进程只需要提供修改后protobuf文件。 阅读全文
posted @ 2013-11-28 11:13 TheBug 阅读(29227) 评论(2) 推荐(1) 编辑
摘要:本节主要是了解计算机中的一些基本概念。并通过前面的一些文章,对一些概念会有更深入的了解。 阅读全文
posted @ 2013-11-24 23:19 TheBug 阅读(2525) 评论(0) 推荐(5) 编辑
摘要:避免我们不是在制造永动机,在分布式系统设计前,几个理论必须了解。CAP、BASE、ACID、一致性以及五分钟理论。 阅读全文
posted @ 2013-11-17 22:38 TheBug 阅读(1771) 评论(0) 推荐(1) 编辑
摘要:大家猜猜下面这幅图是干什么的,如果有接触过分布式理论的应该一看就知道;如果有正在使用分布式系统的,拿你的系统和图对比一下,了解一下你系统的理论;本节先上个图,大家好好研究一下,因为下午有公司嘉年华,只能随后整理好,预先预告一下,下节介绍设计分布式你不得不知道的理论,围绕该图展开的理论,让我们不要成为那个埋头制造永动机的烈士。 阅读全文
posted @ 2013-11-16 12:04 TheBug 阅读(1191) 评论(3) 推荐(1) 编辑
摘要:本节介绍MVCC(Multi-version Cocurrent Control,多版本并发控制)技术。大家知道SVN的工作原理吗?SVN就是MVCC的实际应用。 阅读全文
posted @ 2013-11-12 23:56 TheBug 阅读(1412) 评论(2) 推荐(2) 编辑
摘要:分布式系统的实践中,广泛使用了日志技术做宕机恢复,甚至如 BigTable 等系统将日志保存到一个分布式系统中进一步增强了系统容错能力。本节介绍两种实用的日志技术 Redo Log结合checkpoint 与 No Redo/No undo Log。 阅读全文
posted @ 2013-11-11 23:35 TheBug 阅读(1796) 评论(1) 推荐(2) 编辑
摘要:本节主要介绍基于quorum机制选择primary,确保数据一致性,quorum机制的相关理论可以参考别的文档,在此就不再赘述。 阅读全文
posted @ 2013-11-10 23:29 TheBug 阅读(1561) 评论(2) 推荐(1) 编辑
摘要:通过第三节的介绍,大家应该对Lease机制有一定的了解了,本节主要介绍Lease的本质,以及通过lease机制,如何来判断节点的状态,最后介绍在hdfs、chuby和zookeeper中如何应用lease机制。 阅读全文
posted @ 2013-11-09 13:00 TheBug 阅读(2018) 评论(1) 推荐(3) 编辑
摘要:本节主要通过设计一个分布式的cache系统,来介绍Lease的使用,甚至可以作为一个分布式cache系统,在工程中使用。如果在介绍中涉及到的一些概念,可以参考前面两篇本文: http://www.cnblogs.com/jacksu-tencent/p/3405680.html http://www.cnblogs.com/jacksu-tencent/p/3407712.html 阅读全文
posted @ 2013-11-06 00:27 TheBug 阅读(2377) 评论(1) 推荐(1) 编辑
摘要:副本(replica/copy)指在分布式系统中为数据或服务提供的冗余。对于数据副本指在不同的节点上持久化同一份数据,当出现某一个节点的存储的数据丢失时,可以从副本上读到数据。数据副本是分布式系统解决数据丢失异常的唯一手段。另一类副本是服务副本,指数个节点提供某种相同的服务,这种服务一般并不依赖于节点的本地存储,其所需数据一般来自其他节点。 阅读全文
posted @ 2013-11-04 23:34 TheBug 阅读(2611) 评论(0) 推荐(2) 编辑
摘要:1 设计分布式系统需要考虑的异常1.1 节点宕机1.2 网络异常消息丢失、消息乱序(可以通过增加序列号解决)以及数据错误1.3 分布式系统三态在单机,只要不宕机,一个函数执行要么成功、要么失败,但是分布式系统共下存在成功、失败和超时。下面解释一下超时的不确定性:某个节点 A 向另一个节点 B 发送一个消息,如果请求 RPC 的节点 A 在给定的时间内没有收到执行 RPC 的节点 B 返回的消息,则认为该操作“超时”。对于超时的请求,我们无法获知该请求是否被节点 B 成功执行了。这是因为,如果超时是由于节点 A 发向节点 B 的请求消息丢失造成的,则该操作肯定没有被节点 B 成功执行;但如果节点 阅读全文
posted @ 2013-11-03 23:31 TheBug 阅读(4499) 评论(5) 推荐(6) 编辑
摘要:小文件指的是那些size比HDFS的block size(默认64M)小的多的文件。如果在HDFS中存储小文件,那么在HDFS中肯定会含有许许多多这样的小文件(不然就不会用hadoop了)。而HDFS的问题在于无法很有效的处理大量小文件。 任何一个文件,目录和block,在HDFS中都会被表示为一个object存储在namenode的内存中,没一个object占用150 bytes的内存空间。所以,如果有10million个文件,没一个文件对应一个block,那么就将要消耗namenode 3G的内存来保存这些block的信息。如果规模再大一些,那么将会超出现阶段计算机硬件所能满足的极限。 . 阅读全文
posted @ 2013-11-02 14:38 TheBug 阅读(1460) 评论(1) 推荐(2) 编辑
摘要:Facebook运行着全球最大的MySQL数据库集群,该集群分布在两个大洲上的多个数据中心中数以千计的服务器上。让人不解的是,Facebook只动用了一个很小的团队来管理这个庞大的MySQL数据库集群。 近日Facebook的Shlomo Priymak在Facebook博客上发文揭开了这个秘密。Facebook的秘诀就是Facebook自己开发的MySQL Pool Scanner(MPS),MPS能完成一个MySQL数据库管理员(BDA)的几乎所有运营维护工作,使得Facebook的数据库集群运营能够实现高度的自动化。 据Priymak介绍,MPS非常复杂,代码大部分由Pyth... 阅读全文
posted @ 2013-11-02 13:18 TheBug 阅读(726) 评论(0) 推荐(0) 编辑
摘要:随着科技进步,人类活动使数据以惊人的速度产生。毋庸置疑,我们已经进入大数据时代,这些庞杂的数据是垃圾也孕育商机。随着数据分析能力的提高,营销人将能更快速高效成本低廉的使用大数据。未来三年,71%的营销将开始使用大数据营销。 阅读全文
posted @ 2013-11-02 11:46 TheBug 阅读(565) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示