Kafka与Flume比较

在企业中必须要清楚流式数据采集框架flume和kafka的定位是什么:

1 Flume

flume:cloudera公司研发

1.适合多个生产者;

Kafka与Flume比较_第1张图片

                                                                       多数据源数据汇总

可以参考Flume采集案例:https://blog.csdn.net/weixin_38023225/article/details/102495990

2.适合下游数据消费者不多的情况;

Kafka与Flume比较_第2张图片

如果消费者多(如上图HDFS,JMS等),Agent foo会产生多个副本(Channel1,Channel2,Channel3)对应,数据冗余严重

可参考Flume采集案例:https://blog.csdn.net/weixin_38023225/article/details/102487745

3.适合数据安全性要求不高的操作;

更多的是使用Memory Channel,在实时框架中处理,追求的是速度,无本地缓存,数据有丢失风险。

4.适合与Hadoop生态圈对接的操作。

如,可以通过配置文件配置hdfs sink, hbase sink,直接可以对接HDFS,HBASE等,不用写多余代码。

2 Kafka

kafka:linkedin公司研发

1.适合数据下游消费众多的情况;

消息是基于pull模式,由消费者自己决定

2.适合数据安全性要求较高的操作,支持replication。

安全性:有本地文件缓存(默认存储7天)

支持replication:

kafka副本与flume副本机制不同

flume副本机制是从消费者出发,新增消费者就必须新增副本Channel。

flume副本是从数据安全性,可靠性出发,可以设置1个副本,也可以设置多个副本(Leader/Fllower模式,生产消费者只与Leader交流)。

3 常用模型

线上数据(生产者多) --> flume --> kafka --> flume(根据情景增删该流程) --> HDFS

你可能感兴趣的:(Kafka,Flume,kafka,flume,区别)