今天也要努力学习
flume与kafka是同级的一个消息传输通道:但是有各自的定位
1:kafka定位消息队列,它可以有许多的生产者和消费者,并可以共享一个主题topic队列。而flume是定位数据传输,相比下,flume是一个专用工具被设计为旨在往HDFS,HBASE发送数据。它对HDFS有特殊的优化,并且集成了hadoop的安全特性。如果有多个dataconsumer,选择kafka,如果数据设计给hadoop使用,使用flume。
2:flume可以使用拦截器(timestamp interceptor,host interceptor,regex filtering interceptor)实时处理数据。这些对数据屏蔽或者过量是很有作用的,而kafka需要外部的流处理系统才能做到。
3:kafka和flume都是可靠的系统,可以通过适当的配置保证零数据丢失,区别在于flume不支持副本事件,当flume节点挂掉的时候,即便你使用了高可用的文件管道方式,你也将丢失这些事件直到你恢复这些磁盘,如果你需要一个高可靠的传输,kafka是一个更好的选择。
4:相对于日志采集,线上数据一般是通过落地文件或者通过socket传输给另外一个系统,这种情况下,你很难推动线上的应用或者服务去修改接口,直接向kafka里面写数据,这时候你可能就需要flume这样的系统去帮你做传输。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/182143.html原文链接:https://javaforall.cn