在Spark,Flink和Kafka中流式传输
在何时使用spark,何时使用flink和何时使用Kafka之间有很多嗡嗡声。 Spark流和flink都提供了一次保证 ,即每条记录将被处理一次,从而消除了任何可能的重复项。 与任何其他处理系统(如Storm)相比,两者都提供了非常高的吞吐量,并且两个处理引擎中的容错开销都很低,而Kafka客户端最多可以创建一次,至少可以一次创建, 一旦消息处理需要。 Kafka被用于两大类应用程序: 建立实时流数据管道,以可靠地在系统或应用程序之间获取数据 构建实时流应用程序,以转换或响应数据流。 需要实时流处理 ,因为数据是作为连续的事件流到达的 ,例如运动中的汽车发出GPS信号,金融交易,手机信号塔之间的信号交换,网络流量(包括会话跟踪,了解用户)网站上的行为,工业传感器的测量结果。 因此,对于所有这些类型的数据,流处理是处理此类数据的更好方法。 流处理对于保持一致性和容错性具有挑战性,因为与此数据生成和处理相关联的动态性,您需要一个可以跟上并处理连接中断的系统,还需要能够从中使用数据的能力。流处理器,因此您需要能够以窗口的形式回答复杂的查询,因此您需要丰富的窗口定义,不同的方式来提取信息并汇总信息,并且您也不想让系统陷入困境需要流处理器中的低延迟和高吞吐量。 Spark Streaming和Flink的不同之处在于它们的计算模型,而Spark采用了微型批次Flink采用了基于连续流操作的流模型。 就窗口标准而言,spark具有基于时间的窗口标准,而flink具有基于记录的或任何自定义使用的已定义窗口标准。 Flink和Spark都是通用数据处理平台,也是Apache Software…