《Storm企业级应用:实战、运维和调优》——2.5 本章小结

2.5 本章小结

在Storm中使用ZooKeeper主要用于完成Storm集群各节点的分布式协调工作,一是存储客户端提供的Topology任务信息,Nimbus负责将任务分配信息写入ZooKeeper,Supervisor从ZooKeeper上读取任务分配信息;二是存储Supervisor和Worker的心跳(包括它们的状态),使得Nimbus可以监控整个集群的状态,从而重启一些挂掉的Worker;三是存储整个集群的所有状态信息和配置信息。由于ZooKeeper在Storm集群中的重要性,本章详细介绍了ZooKeeper的安装。
Storm使用ZeroMQ传送消息,这就消除了中间的排队过程,使得消息能够直接在任务自身之间流动。在消息的背后,是一种用于序列化和反序列化Storm的原语类型的自动化且高效的机制。Storm使用ZooKeeper协调集群时,由于ZooKeeper并不用于传递消息,所以Storm给ZooKeeper带来的压力相当低。大多数情况下,单个节点的ZooKeeper集群足够胜任,不过为了确保故障恢复或者部署大规模Storm集群,可能需要更大规模节点的ZooKeeper集群。

时间: 2024-08-08 01:38:28

《Storm企业级应用:实战、运维和调优》——2.5 本章小结的相关文章

《Python算法教程》——第1章 引言 1.1 这是一本怎么样的书

第1章 引言 1.提出问题. 2.思考真正困难所在. 3.提出解决方案. --摘自<The Feynman Algorithm>,Murray Gell-Mann著 让我们先来考虑一下下面这个问题:我们想要访遍瑞典境内所有的城市.小镇和村庄,然后再返回出发地点.显然,这段旅程肯定要耗费掉不少时间(毕竟我们要访问24 978个地方),因而我们希望能最小化该旅行路线.也就是说,我们既要能按计划逐个参观这些地方,又要尽可能地走出一条最短路线来.作为一个程序员,我们当然不屑于用手工方式来设计该路线,显

《Python算法教程》——第2章 基础知识 2.1 计算领域中一些核心理念

第2章 基础知识 Tracey:我不知道您在哪里. Zoe:隐身术就是这样--您应该听说过的. Tracey:我可不认为这属于基础知识. --选自<Firefly>第14集台词 在我们将注意力转向本书主体内容,也就是那些数学技术.算法设计原则及经典算法之前,还必须先了解一些最基本的技术与原则.因为当您阅读到后续章节时,至少应该非常清楚类似"无反向环路的加权有向图"以及"Θ(n lg n)运行时间"这些词句所表达的具体含义.同时,我们也理应要对Python

《Python算法教程》——2.5 本章小结

2.5 本章小结 在本章,我们从一些重要的基本概念入手,定义了一系列略显松散的算法理念.抽象计算机及一些相关的问题.紧接着,我们讨论了两个主要话题,即渐近表示法与图结构.渐近记法主要用于描述一个函数的增长态势.它能让我们忽略掉那些不相干的加法或乘法常数,并聚集于问题的主体部分.这样一来,我们就可以根据一些显著特征,在某个抽象层次上对相关算法进行运行时间评估,而不用去操心既定实现中的那些具体细节.我们用三个希腊字母O .Ω与Θ来分别表示算法的上界.下界以及整体渐近边界,它们各自可以用来描述一个算法

《Python算法教程》——1.5 本章小结

1.5 本章小结 程序设计不仅仅是软件架构及面向对象设计方面的事情,算法设计问题也是它要解决的一个方面,其中有些问题还真的很难.对于那些普通问题(如找出A.B两点之间的最短路径)来说,我们所采用或设计的算法可以对代码完成任务的时间产生重要的影响:但对于那些困难的问题(如要找出通过A到Z之间所有点的最短路线)而言,可能根本就不存在高效的算法,这意味着我们将不得不接受一个近似的解决方案. 本书将致力于传授一些知名算法与常用设计原则,这将有利于帮助读者设计出属于自己的算法.并且在理想情况下,这些内容还

《Python算法教程》——导读

前 言 这本书结合了我的三大爱好:算法.Python编程及诠释事物.对我来说,这三项都是美学问题--找出让事情尽善尽美的方法.这就需要我们首先去发现相关事物的精华所在,然后精雕细琢,使其发光发亮,或至少比原先要闪亮一些.当然,由于某些材料表面的杂质太多,加工的结果可能会有些不尽人意.但幸运的是,本书中所涉及的内容大多都是现成品,因为我所写的都是一些久负盛名的算法及其论证,采用的也是最受欢迎的编程语言之一.至于在诠释事物方面,我一直在努力试着让事情变得尽可能显而易见一些.但即便如此,我也肯定还有许

《Python算法教程》——2.4 请提防黑盒子

2.4 请提防黑盒子 虽然算法工作本身通常都相当抽象,但我们在实现自己的算法时还是要留些心眼.因为在编程时,我们必须依赖一些组件,而这些组件通常都不是我们自己写的,所以依赖于这些"黑盒子",而不知道其任何内容对我们来说多少是一种风险.在这本书中,您将会看到一系列被标识为"黑盒子"的侧边栏.在这些侧边栏中,我们将会简略讨论Python某些部分中的各种可用的算法.这里既有语言内置的,也有属于标准库的.我们会将它们都包括进来,因为这些算法是非常有意义的,它们能告诉我们Py

《Python算法教程》——2.6 如果您感兴趣

2.6 如果您感兴趣 如果想了解有关图灵机以及计算领域方面更多基础知识的话,或许您会喜欢Charles Petzold写的那本<The Annotated Turing>.尽管该书在结构上依然只是Turing原始论文的一个注释版本,但其大部分内容实际上是Petzold本人对那些主要概念所做的诠释说明,里面含有大量的实例.总之,他对这个话题做了一个非常好的阐述.至于在计算领域的基础教科书方面,您可以看看Lewis与Papadimitriou合作的<Elements of the Theor

《Python算法教程》——2.2 渐近记法

2.2 渐近记法 还记得第1章中那个拿append与insert做对比的例子吗?似乎是出于某种原因,当我们选择将相关元素项添加到list尾端时,其在应对list大小变化时的性能弹性要比在其首端插入要好一些(关于list,读者稍后可以参考黑盒子专栏中的相关内容).而且,这些内置操作通常还都是用C编写的.如果我们花点时间用纯Python重新实现一下list.append方法,(粗略)估计新版本会比原版本慢50倍左右.并且我们还可以做进一步估计,相较于这个较慢的.纯Python实现的append方法在

《Python算法教程》——1.4 本书主要内容

1.4 本书主要内容 本书大体结构如下. 第1章 引言:这章您目前已经读了大半了,主要是对本书内容做一个预览. 第2章 基础知识:这章主要涉及一些基本的概念与术语,以及一些基本的数学运算.除此之外,我们还会介绍一些比以往任何时候都要模糊的计算公式,并试图用它们来获取正确的结果.这就是所谓的渐近记法. 第3章 计数初步:这章会涉及更多数学运算--但这些运算真的很有趣,我保证!主要是一些用于算法运行时间分析的基本组合运算,以及对递归与递推关系的概念性介绍. 第4章 归纳.递归及归简:标题中的这三个词

《Python算法教程》——1.2 为什么要读这本书

1.2 为什么要读这本书 当我们在工作中使用算法时,通常都是希望能更有效地解决问题.使程序运行得更快,并且让解决方案变得更为简短.但实际情况如何呢?我们获得所需要的效率.速度和简洁性了吗?为什么人们在使用Python这种语言时依然要在乎这些事呢?选择这种语言对于追求高速度的人来说是一个好的开端吗?为什么不选择C或Java这样的语言呢? 首先,可能是因为Python语言本身很讨人喜欢,以至于人们不想换别的语言,或者他们目前也没有更好的选择.但最为重要的可能还是第二点,即在这里,算法设计者们首先要担