基于Kafka的实时计算引擎如何选择?
原创

基于Kafka的实时计算引擎如何选择?

好文

热门回答:

老码农来回答这个问题。

Kafka

kafka 是linkedin开源的一款开源的分布式mq消息中间件。现在已经捐献给apache软件基金会(ASF)。具有吞吐量大。低延时。容错性高。扩展性好的特点。在大型数据处理中常扮演数据管道的角色。也就是数据在中转。传输中起到一个管道的作用。类似于水管但是还可以起到缓冲作用。数据流过大也能有效的对数据进行传输。我们项目的日志管道就是Kafka。

实时计算

聊完kafka再聊一下什么是实时计算。实时计算是基于海量数据。进行秒级响应。实时入库。实时分析处理数据的一种大数据计算方式。要求时效性高。常用于网站流量分析、股市分析、天气气候分析等需要实时处理的业务场景。打个比方。就是有PB级别数据不断传递过来。需要立马处理入库分析。与此对应的是离线计算。这些通常是不需要立即处理。我先存起来。慢慢进行分析。或者用到的时候我再分析。说到实时计算。就不能不提流式计算。其实两者没有必然关系。实时强调实时性。流式是一种模型。从一个方向流向其他方向。而且某个点的流处理一次就没了。而且设计是无界的。源源不断。把数据想象成水管里的水就会很好理解这个概念。打开水龙头源源不断流出来。从技术选型来说目前 有Storm、 apache spark 和apache flink 。

storm 是一个专注实时处理的流式数据处理引擎。推特开源。但是因为对数据是行级别处理以及容错。所以效率不高。适合对实时性要求高。数据集不算太大的情况下使用。

spark 是一个高效率、易用性强、通用性强。兼容性好的数据处理引擎。 比Hadoop 要快很多。Spark支持Java、Python和Scala的API。还支持超过几十种高级算法。用户可以快速构建不同的应用 。目前业界用的也最多。方案成熟。资料也非常全。基本一线大厂都有spark海量数据处理平台。但是spark 默认走的是批处理。数据是一批一批处理离线计算的。但是通过 spark stream 流式处理的扩展。使得spark也能进行实时的数据计算。但是底层还是批处理。通过固定的offset偏移量进行实时流式批处理。

flink 是大数据处理的一颗新星。核心是一个流式的数据流执行引擎。其针对数据流的分布式计算提供了数据分布、数据通信以及容错机制等功能。基于流执行引擎。Flink提供了诸多更高抽象层的API以便用户编写分布式任务。实现FaaS(函数即服务)是真正意义上的实时计算引擎。目前也是最先进的。但是才火起来。除了一线大厂。小厂是目前是很难玩转的。而且目前资料比较少。还可能有一些坑要踩。但是这些遮挡不了flink的光芒。目前社区十分活跃。而且阿里有魔改版本Blink。常远来看更有前途。

总结

其他观点:

Kafka :

功能完善的分布式流式处理平台。用于发布和订阅、存储及实时地处理大规模流数据。是由Apache软件基金会开发的一个开源流处理平台。由Scala和Java编写。

目前业界有开源不少实时计算引擎。以Apache基金会的两款开源实时计算引擎最受欢迎:Flink、Spark。

Flink:

一款分布式的计算引擎。它可以用来做批处理。即处理静态的数据集、历史的数据集;也可以用来做流处理。即实时地处理一些实时数据流。实时地产生数据的结果;也可以用来做一些基于事件的应用。

Spark:

Spark免费提供Spark Streaming。它使用微批处理进行流式传输。Spark流式计算引擎会定时检查流数据。在连续流处理中。Spark不会启动定时任务。而是启动一组长时间运行的任务。这些任务可以连续读取、处理、写入数据。Spark Streaming的优势在于:

能运行在1000+的结点上。并达到秒级延迟。

使用基于内存的Spark作为执行引擎。具有高效和容错的特性。

能集成Spark的批处理和交互查询。

为实现复杂的算法提供和批处理类似的简单接口。

加米谷大数据培训。6月大数据开发0基础班、提高班。预报名中

相关:Spark Streaming And Kafka:可靠实时计算

https://www.toutiao.com/i6513864038332498435/

您还感兴趣的文章推荐

以上就是由互联网推广工程师 网创网 整理编辑的,如果觉得有帮助欢迎收藏转发~

分享到 :
相关推荐

回复 难拥 取消回复

登录... 后才能评论

评论(2)

  • 难拥 永久VIP 2022年12月28日 10:25:31

    实时,数据,批处理,引擎,流式,数据处理,开源,分布式,数据流,是一个

  • 心太野╮ 永久VIP 2022年12月28日 10:25:31

    没想到大家都对基于Kafka的实时计算引擎如何选择?感兴趣,不过这这篇解答确实也是太好了

  • 意中人 永久VIP 2022年12月28日 10:25:31

    老码农来回答这个问题。Kafkakafka 是linkedin开源的一款开源的分布式mq消息中间件。现在已经捐献给ap