在大数据开发过程中我们经常会使用到消息队列类型的组件,比较常见的就是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都有一定的了解了吧。想了解更多大数据开发技巧,欢迎关注我哟!

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

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

  1. MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)

    MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测) 一.什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过 ...

  2. Mysql存储引擎详解(MyISAM与InnoDB的区别)

    Mysql存储引擎详解(MyISAM与InnoDB的区别) 存储引擎     MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平 ...

  3. mysql 社区版 innodb_MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)

    MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测) / --------------------         写在最前面            ------------------ ...

  4. 详解http和https的区别

    详解http和https的区别 (转自http://www.jzxue.com/jianzhanzhinan/jianzhanrumen/201103/29-6925.html) http与https ...

  5. Kafka与ActiveMQ的区别与联系详解

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

  6. 算术编码例题详解_百分数与百分点区别详解

    通过以往的答疑经验,许多同学对于出现百分点的材料和题目不能够很好的百分点与已知百分数之间的关系.那么百分数与百分点的核心区别在哪里?常见题型中出现的百分数与百分点应该如何进行理解应用? 百分数与百分点 ...

  7. java中$和 的区别详解_Mybatis之#{}与${}的区别使用详解

    1.两种取值方式的差异 mapper.xml映射文件 select * from t_emp WHERE emp_id=${id} and emp_name=#{name} java查询代码 para ...

  8. 七、Vue cli详解学习笔记——什么是Vue cli ,Vue cli的使用(安装,拉取2.x模板,初始化项目),Vue cli2详解,Runtime-Compiler和Runtime-only区别

    一.什么是Vue CLI 如果你只是简单写几个Vue的Demo程序, 那么你不需要Vue CLI. 如果你在开发大型项目, 那么你需要, 并且必然需要使用Vue CLI 使用Vue.js开发大型应用时 ...

  9. kafka 同步提交 异步_详解Kafka设计架构核心——Kafka副本机制详解

    所谓的副本机制(Replication),也可以称之为备份机制,通常是指分布式系统在多台网络互联的机器上保存有相同的数据拷贝.副本机制有什么好处呢? 1. 提供数据冗余.即使系统部分组件失效,系统依然 ...

最新文章

  1. 机器学习入门(01)— 感知机概念、实现、局限性以及多层感知机
  2. NVIDIA之AI Course:Getting Started with AI on Jetson Nano—Class notes(四)
  3. 为IDOC创建tRFC连接
  4. 正式突破两千粉丝!开心!
  5. ssl1715-计算面积【差积】
  6. esmini接入外部ego车控制
  7. GridView 通用分页
  8. python基础代码大全-python文件及目录操作代码汇总
  9. 米家扫地机器人怎么加水_时隔两年半终于更新 贵了500元的小米米家扫地机器人1S值得买吗?...
  10. EmmyLua Unity断点调试
  11. 谷歌SEO考虑富媒体文件
  12. 十二星座谁最不会顾及别人感受?
  13. Android设置来电铃声和分享操作
  14. C语言有四种基本常量,第2章-C语言的基础知识.ppt
  15. python能用来制作游戏吗_python 做游戏开发怎么样?
  16. 树莓派和Windows电脑互传数据方法
  17. JAVA-Word转PDF各种版本实现方式
  18. Oracle的dual是什么东西啊
  19. 集成电路设计的时钟方案
  20. android平板怎么用电脑刷机,小白必看,安卓平板电脑刷机教程之一键刷机

热门文章

  1. 春节期间,你错过了这些开源论文 | Paper + Code 清单
  2. 查看swintransformer的网络结构
  3. 编辑xml文件时不能自动提示问题的解决
  4. TensorFlow——基于Keras子类API的fashion-mnist数据集图像分类
  5. Spring MVC——ConverterltString, Dategt DEMO
  6. CG CTF WEB 这题不是WEB
  7. Reachable Numbers
  8. Reverse a Substring
  9. mysql卸载后root还在_CentoOs7 Mysql卸载后重新安装缺少/root/.mysql_secret
  10. 2021暑假实习-SSM超市积分管理系统-day09笔记