kafka和flume区别

kafka和flume区别Flume更趋向于消息采集系统,Kafka更趋向于消息缓存系统。 kafka:目前项目中主要是用来做消息推送中间件,消息的处理完全由业务方自己定义,请求频次单机吞吐量轻轻松松50W+/s,数据在集群不全挂的情况下是不会丢数据,消费也很灵活,可以指定分区和offset,可以当做成一个数据库。 flume:用来做数据采集和落地,目前使用的是flume-ng,流程是source(kafka)->channel->hdfs相比较kafka比较轻量级,就是一个数据的流通管道,当..

大家好,又见面了,我是你们的朋友全栈君。

kafka和flume区别

  • Flume更趋向于消息采集系统,Kafka更趋向于消息缓存系统。
  • kafka:目前项目中主要是用来做消息推送中间件,消息的处理完全由业务方自己定义,请求频次单机吞吐量轻轻松松50W+/s,数据在集群不全挂的情况下是不会丢数据,消费也很灵活,可以指定分区和offset,可以当做成一个数据库。
  • flume:用来做数据采集和落地,目前使用的是flume-ng,流程是source(kafka)->channel->hdfs 相比较kafka比较轻量级 ,就是一个数据的流通管道,当一个flume实例挂了 数据会丢失。
  • Flume架构简单,依赖少,功能也简单,但是够灵活,它的定位是数据通道,不是消息队列。
  • Flume的Source-Channel-Sink模型,非常适合作为日志收集的模型。
  • Kafka就不必多说了,生产者消费者模型,看你怎么去构建日志消费的下游了。有了消息队列作为中间件,消费的下游和上游可以完美的解耦。
  • Kafka是pull based, 如果你有很多下游的Data Consumer,用Kafka;
  • Kafka有Replication,Flume没有,如果要求很高的容错性(Data High Availability),选kafka;
  • 需要更好的Hadoop类产品接口,例如HDFS,HBase等,用Flume。
  • flume是海量日志采集、聚合和传输的日志收集系统,kafka是一个可持久化的分布式的消息队列。
  • Flume可以使用拦截器实时处理数据,对数据屏蔽或者过滤很有用,如果数据被设计给Hadoop使用,可以使用Flume,重在数据采集阶段。
  • 采集和处理数据不一定同步,所以用kafka这个消息中间件来缓冲,重在数据接入。
  • kafka就是消息队列, 对日志采集系统来说是做缓存用的,供实时的应用读取。
  • 当你只想进行日志的收集工作时,可直接用flume。
  • 如果你收集了日志后,想输出到多个业务方,则可结合kafka。
  • kafka是消息队列,可支持多个业务来读取数据。
  • 由于前端一般都会做负载均衡,所以日志源会有多个,而公司可能只有一个统一的实时计算平台。所以在这个中间一般都会采用消息队列来缓存。
  • Kafka 是一个通用型系统。你可以有许多的生产者和消费者分享多个主题。相反地,Flume 被设计成特定用途的工作,特定地向 HDFS 和 HBase 发送出去。Flume 为了更好地为 HDFS 服务而做了特定的优化,并且与 Hadoop 的安全体系整合在了一起。基于这样的结论,Hadoop 开发商 Cloudera 推荐如果数据需要被多个应用程序消费的话,推荐使用 Kafka,如果数据只是面向 Hadoop 的,可以使用 Flume。
  • Flume 拥有许多配置的来源 (sources) 和存储池 (sinks)。然后,Kafka 拥有的是非常小的生产者和消费者环境体系,Kafka 社区并不是非常支持这样。如果你的数据来源已经确定,不需要额外的编码,那你可以使用 Flume 提供的 sources 和 sinks,反之,如果你需要准备自己的生产者和消费者,那你需要使用 Kafka。
  • Flume 可以在拦截器里面实时处理数据。这个特性对于过滤数据非常有用。Kafka 需要一个外部系统帮助处理数据。
  • 无论是 Kafka 或是 Flume,两个系统都可以保证不丢失数据。然后,Flume 不会复制事件。相应地,即使我们正在使用一个可以信赖的文件通道,如果 Flume agent 所在的这个节点宕机了,你会失去所有的事件访问能力直到你修复这个受损的节点。使用 Kafka 的管道特性不会有这样的问题。
  • Flume 和 Kafka 可以一起工作的。如果你需要把流式数据从 Kafka 转移到 Hadoop,可以使用 Flume 代理 (agent),将 kafka 当作一个来源 (source),这样可以从 Kafka 读取数据到 Hadoop。你不需要去开发自己的消费者,你可以使用 Flume 与 Hadoop、HBase 相结合的特性,使用 Cloudera Manager 平台监控消费者,并且通过增加过滤器的方式处理数据。

​​​​​​​

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/152355.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • java 用getClass()获取对象的类型类

    java 用getClass()获取对象的类型类getClass方法可以获取一个对象的类型类,然后在调用该类的方法可以获取该类的相关信息,比如父类的名字,该类的名字等packagecom.mao.hah;publicclassTestGetClass{ /** *@paramargs */ publicstaticvoidmain(String[]args){ //TODOAuto-gener

  • 什么是ARP欺骗_ARP欺骗防范

    什么是ARP欺骗_ARP欺骗防范ARP欺骗的本质是把虚假的IP-MAC映射关系通过ARP报文发给主机,让主机把虚假的IP-MAC映射存入ARP缓存表(可能是IP地址错误,也可能是MAC地址错误),让其无法正确发送数据漏洞的根源ARP协议是无连接操作系统收到ARP请求或响应后无法确认senderMAC和senderIP真假ARP欺骗伪造网关攻击者B伪造ARP报文(senderIP地址是网关的,senderMAC地址不是网关的),发送给网段内的主机A,那么主机A就会把网关的ip地址和伪造的mac地址缓存到arp缓.

    2022年10月29日
  • Javaweb人才招聘系统[通俗易懂]

    Javaweb人才招聘系统[通俗易懂]基于JSP的JSP+MYSQL人才招聘系统hrm系统是一个综合的员工管理系统,系统主页面左边由导航树构成,分为:部门管理、员工管理、招聘管理、培训管理、薪资管理、以及系统设置模块,模块功能主要包含CRUD操作,详情查看等操作。后台管理具体描述如下:网站新闻资讯管理|–添加新闻资讯;|–修改新闻资讯;|–删除新闻资讯个人会员管理|–查看个人会员|–删除个人会员企业会员管理|–查看企业会员|–删除企业会员在线留言管理|–查看在线留言|–删除在线留言系统用户管理|–系统用户的录

  • nginx负载均衡算法

    nginx负载均衡算法转自https://www.cnblogs.com/kakatadage/p/9994228.html配置方式NGINX配置负载均衡主要是在nginx.conf文件中里upstream模块1、u

  • 从零开始安装VMwareTools的详细步骤[通俗易懂]

    从零开始安装VMwareTools的详细步骤[通俗易懂]从零开始安装VMwareToolsVMwareTools是VMware虚拟机中自带的一种工具,相当于VirtualBox中的增强功能(SunVirtualBoxGuestAdditions),是VMware提供的增强虚拟显卡和硬盘性能、以及同步虚拟机与主机时钟的驱动程序。它的功效不仅仅如此,我们可以通过它进行虚拟机和物理机之间的文件传输的,前提是我们要先安装它。那到底怎么安装VMware…

  • HashTable的数组和连接两种实现方法(Java版本号)

    HashTable的数组和连接两种实现方法(Java版本号)

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号