实时数据处理利器:Storm技术详解
1. 大数据处理中的实时需求与微批处理
在大数据的世界里,像Twitter这样的平台需要实时了解用户正在讨论的话题,这不仅要求高数据量的处理能力,还需要具备高速度(低延迟)的处理特性。Twitter有源源不断的推文流入,必须能够实时提取人们正在讨论的内容,这对工程技术是一项严峻的挑战。
近年来,针对此类实时话题分析的场景,出现了微批处理工具。微批处理工具与流处理工具类似,都处理无界数据流,但不同的是,流处理器允许访问其中的每个数据点,而微批处理处理器会以某种方式将传入的数据分组为批次,一次提供一个批次的数据。这种方式使得微批处理框架不适合处理一次处理单个数据点的问题,并且会放弃一次处理一个数据点时的超低延迟,但它让处理流中的数据批次变得更容易。
2. Storm在大数据中的定位
Storm是一个分布式、实时计算框架,它能轻松处理无界数据流。它是一个纯粹的流处理工具,可以无限期运行,监听数据流,并在每次从流中接收到数据时执行“某些操作”。同时,Storm也是一个分布式系统,允许轻松添加机器,以尽可能实时地处理大量数据。此外,Storm还附带了一个名为Trident的框架,可在流中执行微批处理。
2.1 实时的定义
在实际应用中,“实时”更准确的说法是“近实时”。在软件系统中,实时约束是为系统响应特定事件的时间设定操作期限,通常这种延迟在毫秒级(至少是亚秒级),最终用户不会察觉到延迟。在Storm的上下文中,实时(亚秒级)和近实时(根据用例不同,可能是几秒或几分钟)延迟都是可能的。
2.2 Storm的灵活性
Storm可以与现有的排队
超级会员免费看
订阅专栏 解锁全文
907

被折叠的 条评论
为什么被折叠?



