在大数据开发过程中我们经常会使用到消息队列类型的组件,比较常见的就是Kafka与ActiveMQ,但很多同学闹不懂两者的区别和联系,今天小千就来带大家分析一下。

一、背景分析

消息队列这个类型的组件一直是非常重要的组件,当经过两家企业后我就很坚信这个结论了。队列这种东西,最广泛的作用还是在于解耦,宽泛一点的说,它可以将不同部门的工作内容进行有效的整合,基于一个约定好的格式,就可以两头互相不干扰的进行开发。可以说这个生产消费的思想不仅仅适用于程序也适用于非常多的地方。

目前对于我看到的来说,Kafka更多的还是做为一个数据源,数据桥梁的作用,不同业务之间的沟通。比如需要实时接入A部门的业务数据的话,就会有这样的手段:

落地到HDFS的数据会用来进行一些算法上的离线处理,而Kafka端则是给需要实时性的消费方。其实数据的消费方式无非也就实时和离线两种方式。

二、Kafka和ActiveMQ对比

相比过去经常使用的ActiveMQ,Kafka确实非常的不同,做一个对比来深化印象

说到底,做为kafka的消费方,能感受到最大的不同还是在于几个:

1.吞吐量确实非常高

2.可以重读历史数据

3.但是也有一些缺点:概念上比较复杂,相对于AMQ只需要知道ip和队列名你就能获得数据,Kafka使用起来非常繁琐

三、Kafka的基本概念(摘录)

1.Broker:消息中间件处理结点,一个Kafka节点就是一个broker,多个broker可以组成一个Kafka集群。

2.Topic:一类消息,例如page view日志、click日志等都可以以topic的形式存在,Kafka集群能够同时负责多个topic的分发。

3.Partition:topic物理上的分组,一个topic可以分为多个partition,每个partition是一个有序的队列。

4.Segment:partition物理上由多个segment组成。

5.offset:每个partition都由一系列有序的、不可变的消息组成,这些消息被连续的追加到partition中。partition中的每个消息都有一个连续的序列号叫做offset,用于partition唯一标识一条消息.

四、Kafka消费端的常用参数


本文来自千锋教育,转载请注明出处

Kafka与ActiveMQ的区别与联系详解相关推荐

  1. Kafka单机、集群模式安装详解(二)

    本文环境如下: 操作系统:CentOS 6 32位 JDK版本:1.8.0_77 32位 Kafka版本:0.9.0.1(Scala 2.11) 接上篇 Kafka单机.集群模式安装详解(一) 6. ...

  2. 玉米社:外链、反链、内链、友链的区别与联系详解

    外链.反链.内链.友链的区别与联系详解 1.外链 外链指从站外链向本站点某页面的链接,主要强调站外.我们常说的发外链,即在外部博客.论坛.自媒体等平台发布的带有自身网站链接的软文或者视频内容,但凡是从 ...

  3. c语言中%s的作用,C语言中%c与%s的区别与划分详解

    %c格式对应的是单个字符,%s格式对应的是字符串. 例: char a; char b[20]; scanf("%c",&a); //只能输入一个字符. scanf(&qu ...

  4. 详解Kafka与ActiveMQ的区别与联系!

    在大数据开发过程中我们经常会使用到消息队列类型的组件,比较常见的就是Kafka与ActiveMQ,但很多同学闹不懂两者的区别和联系,今天小千就来带大家分析一下. 一.背景分析 消息队列这个类型的组件一 ...

  5. Linux IO复用区别与epoll详解

    转载:http://blog.csdn.net/hacker00011000/article/details/52160590 一.select.poll.epoll之间的区别总结[整理]  sele ...

  6. SpringBoot2 整合Kafka组件,应用案例和流程详解

    本文源码:GitHub·点这里 || GitEE·点这里 一.搭建Kafka环境 1.下载解压 -- 下载 wget http://mirror.bit.edu.cn/apache/kafka/2.2 ...

  7. [Linux运维基础]全家桶详解!Linux中RPM包、wget下载、YUM安装、tar包、zip等包管理方式区别与参数详解,附wget下载源码包编译安装方法

    文章目录 一.RPM.tar.gz 1.rpm包格式 2.rpm包管理 3.tar包管理参数 二.wget 1.wget参数 2.wget下载源码包后编译安装 三.YUM 1.YUM工作原理 2. Y ...

  8. mysql索引和solr区别_Solr索引详解

    1.Schema介绍 schema 是什么? Schema:模式,是集合/内核中字段的定义,让solr知道集合/内核包含哪些字段.字段的数据类型.字段该索引的存储. schema 的定义方式 solr ...

  9. http 与 https 的区别以及加密详解

    一.http与https的区别: http和https是两种通信方式 http默认采用80作为通讯端口,对于传输采用不加密的方式,https默认采用443,对于传输的数据进行加密传输. https协议 ...

最新文章

  1. FilteredTextBoxExtender
  2. R,Git和Github(上)
  3. stolz定理考研能用吗_重磅,考研数学最后重点预测
  4. ipython使用 python3,2019-04-29 python/ipython设置默认python3
  5. 关于tomcat不能启动的问题(NB:JAVA_HOME should point to a JDK not a JRE)
  6. DS控件库 Win7链接列表框效果1:右侧箭头
  7. java.lang.SecurityException: class “org.bouncycastle.asn1.DERObject“‘s signer information does not m
  8. oracle删除数据用户,oracle删除用户及表空间,导入用户和数据
  9. r语言集合补集_极速统计教程之八 | 概率和集合
  10. MATLAB实现FFT算法
  11. 转载防火墙和防毒墙的区别
  12. dnf新起号怎么才不出人脸_教你如何快速养成一个新号 新角色速成教学
  13. 常用的linux技巧,Linux Shell常用技巧(十二)-第二部分
  14. qt中添加注释的快捷键_Qt Creator快捷键
  15. CVE-2015-5254(ActiveMQ 反序列化漏洞)复现
  16. 几分钟看懂什么是大数据?
  17. 显卡天梯图vs专业计算卡丽台T4,v100vs混合精度训练
  18. Java程序监控工具
  19. NDK学习笔记:JNI调用Java层方法创建Native的AudioTrack播放PCM(方法签名,CallXXXMethod)
  20. linux 存储映射lun 给_LINUX系统下添加映射存储LUN

热门文章

  1. JavaScript学习总结(13)——JavaScript常用正则表达式
  2. 怎么在html5中制作下拉导航栏,在PPT中制作下拉式导航菜单效果的方法
  3. html的设置语言为en,CSS中的html [lang =“ en”]和html:lang(en)有什么区别?
  4. 07.移动先行之谁主沉浮----控件之轮流轰炸——布局类控件
  5. SilverlightComponent for ExtJS
  6. vue.js嵌套路由-------由浅入深
  7. DEDE的简略标题标签的使用问题
  8. Mysql_mysql force Index 强制索引
  9. 通过AO连接多个EO并进行使用
  10. 不是我的错,也不是Atlas的!