阅读更多

1顶
0踩

数据库
昨日,Twitter发布了新开发的数据实时分析平台Heron,以下为官方文档摘译:

我们每天在Twitter上处理着数十亿的事件。正如你猜测的那样,实时分析这些事件是一个巨大的挑战。目前,我们主要的分析平台是开源的分布式流计算系统Storm。但是随着Twitter数据规模变大和多样化,我们的需求已经发生了改变。因此,我们设计了一个新系统Heron——实时分析平台,它可完全兼容Storm的API。我们在昨天的SIGMOD 2015上正式推出。

基本原理和方法:

实时流系统是在大规模数据分析的基础上实现系统性的分析。另外,它还需要:每分钟处理数十亿事件的能力、有秒级延迟,和行为可预见;在故障时保证数据的准确性,在达到流量峰值时是弹性的,并且易于调试和在共享的基础设施上实现简单部署。

为了满足这些需求,我们讨论出了几种方案,包括:扩展Storm、使用其他的开源系统、开发一个全新的平台。因为我们有几个需求是要求改变Storm的核心架构,所以对它进行扩展需要一个很长的开发周期。其他的开源流处理框架并不能完美满足我们对于规模、吞吐量和延迟的需求。而且,这些系统也不能兼容Storm API——适应一个新的API需要重写几个topologies和修改高级的abstractions,这会导致一个很长的迁移过程。所以,我们决定建立一个新的系统来满足以上提到需求和兼容Storm API。

Heron的特色:

我们开发Heron,主要的目标是增加性能预测、提高开发者的生产力和易于管理。



图1:Heron Architecture



图2:Topology Architecture
对于Heron的整体架构请看图1和图2。用户使用Storm API来构建和提交topologies来实现一个调度。调度运行的每一个topology作为一个job,有几个容器组成,其中一个容器运行主topology,负责管理topology。每个剩余的容器运行一个流管理器,负责数据路由——一个权值管理器,用来搜集和报告各种权值和多个Heron实例(运行user-defined spout/bolt代码)进程。这些容器是基于集群中的节点的资源可用性来实现分配和调度。对于topology元数据,例如物理计划和执行细节,都是保管在Zookeeper中。

Heron功能:
  • Off the shelf scheduler:通过抽象出调度组件,我们可轻易地在一个共享的基础设施上部署,可以是多种的调度框架,比如Mesos、YARN或者一个定制的环境。
  • Handling spikes and congestion:Heron 具有一个背压机制,即在执行时的一个topology中动态地调整数据流,从而不影响数据的准确性。这在流量峰值和管道堵塞时非常有用。







图3:Heron UI showing logical plan, physical plan and status of a topology

  • Easy debugging:每个任务是进程级隔离的,从而很容易理解行为、性能和文件配置。此外,Heron topologies复杂的UI如图3所示,可快速和有效地排除故障问题。
  • Compatibility with Storm:Heron提供了完全兼容Storm的特性,所我们无需再为新系统投资太多的时间和资源。另外,不要更改代码就可在Heron中运行现有的Storm topologies,实现轻松地迁移。
  • Scalability and latency:Heron能够处理大规模的topologies,且满足高吞吐量和低延迟的要求。此外,该系统可以处理大量的topologies。

Heron性能

我们比较了Heron和Storm,样本流是150,000个单词,如下图所示:



图4. Throughput with acks enabled



图5. Latency with acks enabled

如图4所示,Heron和Storm的吞吐量呈现线性增长的趋势。然而,在所有的实验中,Heron吞吐量比Storm高10–14倍。同样在端至端延迟方面,如图5所示,两者都在增加,可Heron延迟比Storm低5–15倍。

除此之外,我们已经运行topologies的规模大概是数百台的机器,其中许多实现了每秒产生数百万次事件的资源处理,完全没有问题。有了Heron,众多topologies的每秒集群数据可达到亚秒级延迟。在这些案例中,Heron实现目标的资源消耗能够比Storm更低。

Heron at Twitter

在Twitter,Heron作为我们主要的流媒体系统,运行数以百万计的开发和生产topologies。由于Heron可高效使用资源,在迁移Twitter所有的topologies后,整体硬件减少了3倍,导致我们的基础设置效率有了显著的提升。

下一步?

我们乐意协作和在Storm社区分享我们的经验,或是其他实时流处理系统的社区,以便进一步促进这些程序的开发。

我们第一步是分享我们在SIGMOD 2015上的Heron研究论文。你会发现更多的细节:我们设计Heron的动机、系统的功能和性能,以及我们如何在Twitter上使用它。

致谢:

Sanjeev Kulkarni, Maosong Fu, Nikunj Bhagat, Sailesh Mittal, Vikas R. Kedigehalli, Siddarth Taneja (@staneja), Zhilan Zweiger, Christopher Kellogg, Mengdie Hu (@MengdieH) and Michael Barry.

「注:上面感谢的是Heron贡献者,Twitter ID也给了出来,如果对这个系统很感兴趣,不妨联系他们。」

还要着重感谢Storm社区,他们提供了很多的经验教训,帮助我们推进分布式实时分析处理系统。

参考:

Twitter Heron: Streaming at Scale, Proceedings of ACM SIGMOD Conference, Melbourne, Australia, June 2015

Storm@Twitter, Proceedings of ACM SIGMOD Conference, Snowbird, Utah, June 2014

原文地址:https://blog.twitter.com/2015/flying-faster-with-twitter-heron
  • 大小: 80 KB
  • 大小: 98.3 KB
  • 大小: 94.2 KB
  • 大小: 79.9 KB
  • 大小: 51.7 KB
  • 大小: 69.6 KB
1
0
评论 共 1 条 请登录后发表评论
1 楼 zjumty 2015-06-04 14:25
不知道什么时候能开源出来啊?

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • Flume+Kafka+Storm+Redis实时分析系统基本架构

    今天作者要在这里通过一个简单的电商网站订单实时分析系统和大家一起梳理一下大数据环境下的实时分析系统的架构模型。当然这个架构模型只是实时分析技术的一个简单的入门级架构,实际生产环境中的大数据实时分析技术...

  • Heron:Twitter的新一代流处理引擎

    流计算又称实时计算,是继以Map-Reduce为代表的批处理之后的又一重要计算模型。随着互联网业务的发展以及数据规模的持续扩大,传统的批处理计算难以有效地对数据进行快速低延迟处理并返回结果。由于数据几乎处于不断...

  • 大数据实时处理系统架构

    系统基本架构整个实时分析系统的架构就是先由电商系统的订单服务器产生订单日志, 然后使用Flume去监听订单日志,并实时把每一条日志信息抓取下来并存进Kafka消息系统中, 接着由Storm系统消费Kafka中的消息,同时消费...

  • 大数据,数据分析,机器学习,架构等相关系统名称名词解释

    Twitter开源了数据实时分析平台Heron。 Twitter使用Storm实时分析海量数据已经有好几年了,并在2011年将其开源。该项目稍后开始在Apache基金会孵化,并在2015年秋天成为顶级项目。Storm以季度为发布周期,并且向着...

  • Heron-新一代实时流处理

     Heron 新一代流处理框架详解  </a></span>            标签:  (['_trackEvent','function', 'onclick', 'blog_articles_tag']);">Architecture</a><a href=...

  • 大数据开源框架技术汇总

    主要基于对现阶段一些常用的大数据开源框架技术的整理,只是一些简单的介绍,并不是详细技术梳理。可能会有疏漏,发现再整理。参考得太多,就不一一列出来了。这只是作为一个梳理,对以后选型或者扩展的做个参考。

  • 硅谷企业的大数据平台架构什么样?看看Twitter、Airbnb、Uber的实践

    导读:本文分析一下典型硅谷互联网企业的大数据平台架构。作者:彭锋 宋文欣 孙浩峰来源:大数据DT(ID:hzdashuju)01 Twitter的大数据平台架构Twitter是最早一批推进...

  • Java程序员的实时分析系统基本架构需要注意的有哪些?

    这里通过一个简单的电商网站订单实时分析系统和大家一起梳理一下大数据环境下的实时分析系统的架构模型。当然这个架构模型只是实时分析技术的一 个简单的入门级架构,实际生产环境中的大数据实时分析技术还涉及到很...

  • 独子棋demo.rar

    独子棋demo.rar

  • 电力系统仿真中变压器励磁涌流的Python与Matlab建模及优化方法

    内容概要:本文详细探讨了变压器励磁涌流的仿真复现,主要集中在如何通过合理的参数设置(如合闸角、剩磁参数等),利用Python和Matlab进行励磁涌流的建模。文中不仅提供了具体的代码实现,还深入讨论了仿真过程中遇到的问题及其解决方案,如数值稳定性的维护、非线性电感模型的设计以及环流电流的观测。此外,作者还分享了一些实践经验,比如剩磁设置、合闸相位的选择对涌流波形的影响,以及如何通过调整仿真步长提高仿真精度。 适合人群:从事电力系统仿真工作的研究人员和技术人员,尤其是对变压器励磁涌流感兴趣的读者。 使用场景及目标:适用于需要理解和掌握变压器励磁涌流特性的场合,帮助读者理解励磁涌流产生的机制,学会构建和优化励磁涌流仿真模型,从而更好地预测和解决实际工程中可能出现的相关问题。 其他说明:文章强调了仿真与实际情况之间的差异,指出仿真结果可能会因为某些理想化的假设而与现实有所偏差,因此在应用仿真结果时需要注意这一点。同时,文章鼓励读者尝试不同的参数组合,探索更多可能性,以加深对励磁涌流的理解。

  • 基于Pandat的Mg-Y-Al合金成分设计与性能优化研究

    内容概要:本文详细介绍了利用Pandat软件进行Mg-Y-Al合金成分设计的方法及其对合金性能的影响。首先,通过热力学计算确定了Y和Al的最佳含量范围,确保LPSO相的适量生成,从而提高合金的强度和延展性。接着,作者展示了具体的Python代码用于成分筛选和LPSO相含量的计算,并通过Matplotlib进行了三维可视化展示。此外,文中还讨论了不同热处理工艺对合金性能的影响,如梯度热处理显著提升了合金的综合机械性能。最后,通过实验数据验证了理论模型的准确性。 适合人群:从事材料科学尤其是镁合金研究的专业人士,以及对合金成分设计感兴趣的科研工作者。 使用场景及目标:适用于需要精确控制合金成分以获得最佳性能的研究项目。主要目标是在保证高强度的同时提升合金的延展性和韧性,为工业应用提供理论支持和技术指导。 其他说明:文章强调了理论计算与实验验证相结合的重要性,提供了详细的代码示例和实验数据,有助于读者理解和复制相关研究成果。

  • 基于PLL改进的超螺旋滑模观测器用于电机电角度精确观测

    内容概要:本文介绍了一种将锁相环(PLL)与超螺旋滑模观测器相结合的方法,旨在解决传统滑模观测器在电机控制中出现的相位抖动问题。文中详细展示了改进后的观测器如何通过引入非线性项和PLL进行相位补偿,从而显著提高电角度观测的精度和稳定性。核心代码片段展示了具体的算法实现,包括滑模面计算、控制律更新以及PLL参数整定等方面的内容。实验结果显示,在多种工况下,改进后的观测器能够将相位误差控制在极小范围内,特别是在低速和负载突变情况下表现尤为突出。 适合人群:从事电机控制系统研究与开发的技术人员,尤其是关注无传感器矢量控制(FOC)、永磁同步电机(PMSM)控制领域的工程师。 使用场景及目标:适用于需要高精度电角度观测的应用场合,如工业自动化设备、电动汽车驱动系统等。主要目标是提高电机控制系统的稳定性和响应速度,降低相位误差,增强系统的鲁棒性。 其他说明:文中提到的代码可以在MATLAB 2021b及以上版本中运行,并提供了详细的调试建议和参考资料,帮助读者更好地理解和应用这一改进方案。

  • 基于A*算法的多AGV路径规划与冲突避让的Matlab实现

    内容概要:本文详细介绍了利用A*算法进行多AGV(自动导引车)路径规划的方法及其在Matlab环境下的具体实现。首先,针对单个AGV,使用A*算法计算最短路径,采用曼哈顿距离作为启发函数,适用于栅格地图场景。其次,在多AGV环境中,通过时空冲突检测机制来识别路径重叠,并采取动态调整策略,如让低优先级AGV等待,确保各AGV能够顺利到达目的地而不发生碰撞。此外,还提供了可视化的路径动态演示和时间坐标曲线,帮助用户更好地理解和监控AGV的移动过程。文中给出了完整的代码框架,包括地图配置、AGV数量设定以及起终点随机生成等功能,适用于中小型场景的AGV调度。 适合人群:对机器人导航、路径规划感兴趣的科研人员和技术开发者,尤其是那些希望深入了解A*算法及其应用的人士。 使用场景及目标:本方案旨在解决多AGV系统中存在的路径交叉和死锁问题,提高物流运输效率。主要应用于自动化仓储、智能交通等领域,目标是通过合理的路径规划减少碰撞风险,提升系统的稳定性和可靠性。 其他说明:作者提到在实际运行过程中遇到了一些挑战,比如Matlab全局变量在并行计算时不稳定的问题,经过面向对象重构后得到了改善。同时,对于更大规模的AGV调度,可能需要探索更加高效的算法。

  • 永磁同步电机滑模控制与模型预测转矩控制的Simulink仿真及应用

    内容概要:本文详细介绍了永磁同步电机(PMSM)采用滑模控制(SMC)与模型预测转矩控制(MPTC)相结合的控制策略及其在Simulink中的仿真实现。滑模控制用于转速环,通过设计滑模面和切换增益来提高系统的鲁棒性和抗扰动能力;模型预测转矩控制则应用于转矩环,利用滚动优化和代价函数最小化来实现精确的转矩控制。文中提供了具体的MATLAB代码片段,展示了如何通过调整参数如饱和函数、预测步长和权重系数来优化控制性能。仿真结果显示,在面对转速阶跃和突加负载的情况下,该混合控制策略能够显著降低超调量并提高响应速度。 适合人群:从事电机控制系统研究与开发的技术人员,尤其是对永磁同步电机控制感兴趣的工程师和研究人员。 使用场景及目标:适用于需要高性能、高精度电机控制的应用场合,如工业自动化、电动汽车等领域。目标是通过滑模控制和模型预测转矩控制的结合,实现更好的动态响应和抗扰动性能。 其他说明:文中还提到了一些调试技巧和常见问题,如仿真步长的选择、参数设置的影响以及如何避免常见的错误配置。此外,附带了一份《滑模控制极简指南》,帮助读者更好地理解和应用滑模控制理论。

  • 基于VB的27轴混合电机与工业相机集成的PCB喷胶系统

    内容概要:本文详细介绍了使用Visual Basic (VB) 开发的一个复杂的工业自动化项目,涉及27轴混合电机(步进电机、伺服电机和直线电机)以及8台500万像素工业相机的应用。项目采用德国高创运动控制卡和映美精相机SDK,实现了多轴协同控制、视觉定位和喷胶系统的无缝集成。文中涵盖了运动控制卡的初始化、多轴电机类型的设定、工业相机的配置与图像处理、多线程控制与实时性优化、喷胶路径规划与控制等方面的内容。此外,还讨论了实际应用中的挑战及其解决方案,如多轴同步、喷胶精度控制、动态负载补偿等。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是熟悉VB编程和有一定运动控制、机器视觉基础的人群。 使用场景及目标:适用于需要高精度、高速度的PCB生产线改造或新建项目。目标是提高生产效率和产品质量,减少人工干预和维护成本。 其他说明:项目实施过程中遇到了许多技术难题,如多轴同步、喷胶精度控制等,通过合理的硬件选择和软件优化得以解决。文中提供的代码片段和实践经验对于类似项目的开发具有重要参考价值。

  • COMSOL仿真优化水系锌离子电池电场与浓度场:高介电物质涂层的应用与效果评估

    内容概要:本文详细介绍了利用COMSOL软件构建水系锌离子电池的电场和浓度场仿真模型,重点探讨了高介电物质涂层对锌负极的影响。通过调整材料属性如介电常数,作者展示了如何在COMSOL中设置并优化模型,以改进电场和浓度场的分布,从而提高电池性能。文章不仅提供了详细的代码片段用于设置材料属性、边界条件和网格划分,还讨论了仿真结果及其与实验数据的对比,揭示了高介电涂层在抑制锌枝晶形成方面的有效性。 适合人群:从事电池研究、电化学仿真以及COMSOL软件使用者的专业研究人员和技术人员。 使用场景及目标:①帮助科研人员理解和掌握COMSOL在电池仿真中的应用;②提供具体的技术指导,以便更好地进行电池性能优化;③为解决锌枝晶问题提供理论依据和技术支持。 其他说明:文中强调了介电常数设置的重要性,并指出过高或不当的参数可能导致计算发散或其他问题。此外,还分享了一些实用的小技巧,如自适应网格设置和结果后处理方法,使仿真结果更加直观和可靠。

  • 混凝土搅拌站自动化系统中组态王6.55与三菱PLC的IO表设计及仿真调试

    内容概要:本文详细介绍了混凝土搅拌站自动化系统中,组态王6.55与三菱PLC之间的IO表设计及仿真调试方法。首先讨论了典型的IO配置场景,如电机控制、料位传感器和急停按钮的地址映射。接着深入探讨了PLC的梯形图编程、组态王的变量绑定以及两者间的通讯配置。文中还分享了许多实战经验和常见问题解决方案,如地址映射表的制作、事件触发机制的应用、数据类型匹配的重要性等。最后强调了仿真调试的关键步骤和技术要点,确保系统的稳定性和可靠性。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是那些负责混凝土搅拌站控制系统的设计和调试人员。 使用场景及目标:适用于需要将组态王6.55与三菱PLC进行集成并完成IO表设计和仿真调试的工程项目。主要目标是提高系统的可靠性和调试效率,减少现场调试的时间成本。 其他说明:文章提供了大量实用的技术细节和实战经验,帮助读者避免常见的陷阱和错误,提升工作效率。

  • natsort-6.2.0.tar.gz

    该资源为natsort-6.2.0.tar.gz,欢迎下载使用哦!

  • 机械工程基于专利CN112302938A的节能高效双螺杆压缩机转子型线设计与实现:动力传动与控制技术领域非对称齿面组合型线系统开发(论文复现或解答,含详细代码及解释)

    内容概要:该专利提出了一种节能高效的双螺杆压缩机转子型线设计方案,属于动力传动与控制技术领域。核心创新点在于阴阳转子的齿曲线采用抛物线、圆弧、椭圆及其共轭包络线组合而成,形成二次曲线与二次曲线包络线的组合型线。设计特点包括非对称齿面(前齿面更宽,b/a>1.8)、各段曲线光滑连接无尖点、七段曲线组合结构。该设计旨在提高密封性、改善动力特性、降低损耗、提升效率,从而提高双螺杆压缩机的整体性能。文中提供了详细的Python代码实现,包括转子型线的计算和可视化,以及改进后的代码,以更好地反映专利的具体参数和技术细节。 适合人群:机械工程专业人员、从事压缩机设计与制造的技术人员、对双螺杆压缩机转子型线设计感兴趣的科研人员。 使用场景及目标:①用于研究和开发新型双螺杆压缩机,特别是在提高压缩机效率和性能方面;②作为教学案例,帮助学生和工程师理解双螺杆压缩机转子型线的设计原理和技术实现;③为企业提供参考,优化现有产品的设计和制造工艺。 其他说明:文中提供的代码基于专利描述进行了合理的假设和简化,实际应用中可能需要根据具体性能要求进行优化调整。专利技术通过非对称设计、多段曲线组合等方式,实现了高效的密封性和优良的动力特性,显著提升了双螺杆压缩机的性能。

Global site tag (gtag.js) - Google Analytics