转 DataTorrent 1.0每秒处理超过10亿个实时事件

DataTorrent是一个实时的流式处理和分析平台,它每秒可以处理超过10亿个实时事件。

Twitter平均每秒大约6000条微博相比,最近发布的DataTorrent 1.0似乎已经超出了需求,它每秒可以处理超过10亿个实时事件。他们在一个包含37个节点的集群上进行了测试,每个节点256GB内存、12核超线程CPU。在CPU达到饱和之前,DataTorrent声称已经实现了线性扩展,而CPU达到饱和时处理速度为每秒16亿个事件。Phu Hoang是DataTorrent的联合创始人和CEO,他告诉InfoQ,在同样的硬件上,他们的解决方案在性能上比Apache Spark要高“好几个数量级”。

DataTorrent基于Hadoop 2.x构建,是一个实时的、有容错能力的数据流式处理和分析平台,它使用本地Hadoop应用程序,而这些应用程序可以与执行其它任务,如批处理,的应用程序共存。该平台的架构如下图所示:

StrAM(Streaming Application Master)是一个本地的YARN Application Master,负责管理将要在Hadoop集群上执行的逻辑DAG(Directed Acyclic Graph),包括资源分配、分区、扩展、调度、Web服务、运行时更改、统计、SLA执行、安全等等。

在架构示意图的上层,用户应用程序作为已连接的算子和/或应用程序模板存在。算子的示例有InputReceiver(模拟接收输入数据)、Average(针对指定维度的键计算数据平均值)、RedisAverageOutput(将计算好的平均值写入Redis数据存储)、SmtpAvgOperator(发送电子邮件警报)。这些算子是Malhar库的一部分,该库包含了超过400个这样的算子,并在GitHub上开源。用户可以根据需要编写其它算子。

我们问Hoang,是什么使DataTorrent比Spark更快:

PHDataTorrent侧重于使企业能够通过流式处理实时采取行动,而Spark希望使Spark引擎适用于处理连续事件流,这就在架构上产生了两个重要的区别。性能和有状态的容错能力是两个重点关注的方面。

  1. 性能——作为一个本地Hadoop 2.0产品,DataTorrent RTS从头开始设计和构建,它关注性能和高可用性,并最终实现了以亚秒级延时逐个处理事件。DataTorrent RTS在启动时就将应用程序调度到Hadoop容器中,如果应用程序不需要更改,映射就固定不变,这样就不会引入任何调度开销。另一方面,Spark基于Hadoop 2.0之前的版本构建,它利用Spark引擎以小批量或“迷你批量”高效地运行许多“map reduce”作业。这种设计策略要求现在的Spark(通过Application Master)必须将每个最小批调度到集群上,这意味着巨大的开销,降低了系统速度。
  2. 有状态的容错能力——按照设计,DataTorrent RTS能够进行复杂的、有状态的高性能计算,并具有容错能力。这是企业的一项关键需求,在不丢失任何数据、任何状态的情况下从故障中恢复,这是一项必备的能力。这里,DataTorrent RTS的设计中心是使用Java编程以及为企业开发人员/ISV解除容错能力设计的“负担”(也就是说,由DataTorrent RTS为开发人员处理)。Spark确实也提供了容错能力,但只针对无状态处理。Spark的设计中心是使用函数式语言Scala,处理连续事件流的算子是无状态的。如果企业想向Spark添加有状态的处理,他们需要将那部分代码作为应用程序的一部分进行编写,这很难,而且会影响性能。

据Hoang说,经验证,DataTorrent适用于“所有主要的Hadoop分发,既包括本地部署,也包括基于云的部署(前者如Cloudera、Hortonworks、MapR,后者如Amazon AWS和Google Cloud),这赋予了企业灵活性,使他们既可以更换Hadoop供应商,也可以无障碍地更改部署选项。”

虽然DataTorrent是一款商业应用程序,但它也带来了一个包含所有功能的免费层级,可以用于中小型应用程序。

转 DataTorrent 1.0每秒处理超过10亿个实时事件

时间: 2024-10-06 12:10:08

转 DataTorrent 1.0每秒处理超过10亿个实时事件的相关文章

Android 月活跃人数超过10亿用户了,我却审美疲劳了

一早上起来就看到谷歌召开了2014 I/O大会,铺天盖地的信息有点把我砸晕了.恍惚之间,我看到"Android 月活跃人数已超过10亿"."Android应用每年安装量增加236%"."Android占平板电脑出货量的62%"这些庞大的数据-- Android果然是发展迅猛,就跟撒欢的野狗一样,可怜的WP只能够远远的看着Android身后的尘土.Android越来越惊艳,越来越成熟,用户的体验也是越来越好,但是我却是一点兴趣都提不起不来.谷歌在出

云计算之路-阿里云上:读取缓存时的“黑色0.1秒”

看到标题中的"0.1秒",你也许会呲之以鼻:不会吧,0.1秒也要计较,不是吃饱撑着,是没吃饱也撑着. 依然没撑着!在memcached应用场景中,响应速度是处于1ms级别的,0.1s可是比1ms慢了100倍啊. 如果你不相信1ms级别,请看这篇文章(微博CacheService架构浅析)中的一段话: 目前微博平台部分业务子系统的Cache服务已经迁移到了CacheService之上,它在实际的运行过程中也取得了良好的性能表现,目前整个集群在线上每天支撑着超过300W的QPS,平均响应耗

云计算之路-阿里云上:基于Xen的IO模型进一步分析“黑色0.1秒”问题

在发现云服务器读取OCS缓存的"黑色0.1秒"是发生在socket读取数据时,而且是发生在读取开始的字节,甚至在socket写数据时(比如写入缓存key)也会出现超过50ms的情况,我们的好奇心被激发到一个新的高度. 根据我们的实测,在云服务器上创建一个新的TCP连接通常也不过3ms左右.在黑色0.1秒期间,TCP包已经到达网卡,从网卡读到内存中竟然超过100ms,这太不可思议了!后来想想,如果.Net或Windows存在这样的问题,那微软就不是全球第一大软件公司,而是全球第一大忽悠公

云计算之路-阿里云上:原来“黑色0.1秒”发生在socket读取数据时

在昨天的博文(云计算之路-阿里云上:读取缓存时的"黑色0.1秒")中我们犯了一个很低级的错误--把13ms算成了130ms(感谢陈硕发现这个错误!),从而对问题的原因作出了错误的推断,望大家谅解! 从中我们吸取到了一个教训:趁热打铁要小心,容易失去冷静,作出错误的判断. 今天我们痛定思痛,用了一个下午的时间重新分析了"黑色0.1秒"问题,这次从EnyimMemcached的源代码下手(https://github.com/enyim/EnyimMemcached).

大型网站首页执行时间0.3秒,性能算好还是算坏?

正在编写一个大型网站,本机调试时首页执行时间到了0.3秒(APP_DEBUG为true时),这样的性能算好还是算坏?网站日pv20万左右,日IP2万左右. 本机配置:CPU:AMD A8-7650k,内存:8g 极好 : 20毫秒内 保证 : 80毫秒内 可以接受 100毫秒 再大有些难以接受 开启缓存 可以改善很多

VEFX维亿安全指数交易平台:MF Trader软件0.03秒最优报价极速交易

经常穿梭于股市的股民肯定都知道,在我们身边,经常会听到一些股民怨声载道的声音,抱怨自己运气不好,抱怨股市的不公平,别人在不断赚钱,自己却在不断亏钱,要不就抱怨行情不好,听不进去别人的意见还总是一意孤行.股票一支支的套牢,楼盘一处处的泡沫,让很多投资者心都凉了,头脑尚且理智的投资者开始关注新兴的投资方式,其中投资指数就十分受脱离套牢泡沫苦海的投资者喜爱,原因有以下几个方面. 双向交易机会多 股票投资只有涨才能赚钱,而美元指数可以买涨,也可以买跌,只要选对交易方向就能赚钱.在股市中空头行情的时间远远

修改server show data三台主机的时间,队列中超过10分钟的数量飙升

要用server来监控底下各个客户端的时间,使用自带的监控项 system.localtime[],(type有utc和local两种,utc就是使用的时间戳,local是字符串格式的时间 yyyy-mm-dd hh mm ss,可以不指定type,使用默认,默认由返回值的类型决定,整型返回值为utc,字符串为local) 然后使用触发器函数fuzzytime (sec)(检查项目时间戳和zabbix服务器时间相差多大.sec为秒数,支持float,int,返回值 0,1,fuzzytime(6

《转》bat 传递超过10个参数的情况

批处理文件中可引用的参数为%0~%9, %0是指批处理文件的本身,也可以说是一个外部命令:%1~%9是批处理参数,也称形参:而替换形参的实参若超过了批处理文件中所规定数值(9个)且想在批处理文件中应用这些实参的话,shift命令可以帮你实现! Shift 命令:更改批处理文件中可替换参数的位置 C代码    shift [/n]  n 的取值是[0,8],且为整数:[/n]为可选参数,当赋予n某个值时,就意味着命令从第n个参数开始移位:当n赋予的值为0,1或不带有任何命令选项的 shift时,则

CloudStack 前身为 cloud.com 的商业化产品,它在 2011 年被 Ctrix 以超过二亿美金价格收购,随后又在今年被捐献给 Apache 基金会

CloudStack 在 IaaS 市场的背景和主要竞争对手 随着亚马逊在公有云和 VMware 在私有云方面的成功,各类企业纷纷在云时代迈出了自己的步伐,这些企业希望在自身的计算资源(主机,网络,存储)虚拟化过程中能够获得强大功能的同时,又维持相对低廉的成本.这正是 IaaS 供应商们发展的动力. IaaS 提供了对资源的自动化管理能力.例如用界面.脚本甚至 Web Service API 实现对大量硬件.大量虚拟机的生命周期管理.IaaS 产品面对的是大规模.可伸缩的云环境,这是与用手工管理