参考:https://www.zhihu.com/question/30343125

两者虽然都是从传统的Pub/Sub消息系统演化出来的,但是进化的方向不一样,以下是几个比较突出的点:

  1. Kafka是为了数据集成的场景,与以往Pub/Sub消息总线不一样,通过分布式架构提供了海量消息处理、高容错的方式存储海量数据流、保证数据流的顺序等特性。可以参考云上的卡夫卡 - 数据工会。
  2. MQTT是为了物联网场景而优化,不但提供多个QoS选项(exact once、at least once、at most once),而且还有层级主题、遗嘱等等特性。可以参考MQTT入门篇 - 数据工会。

说白了都是传统消息系统(老爸)的子嗣,只是与不同的场景(老妈)结合的产物。不过,两者却可以结合起来使用。比如可以用MQTT接受物联网设备上传的数据,然后接入Kafka,最后可以同时分发到HDFS归档、数据仓库做OLAP分析、Elasticsearch做全文检索,这样的架构非常适合大型物联网项目,不但能够处理海量数据同时也具有很好的扩展性。

MQTT and Kafka, on paper, are publish/subscribe (pub/sub) messaging platforms. But a key distinction between the two relates to how they are put to use. Unlike Kafka, MQTT is a machine-to-machine (M2M) messaging protocol. This means that while Kafka is responsible for data management and ingestion into computation systems, MQTT specializes in data packet exchange between two physical devices. In our home automation example, if we want to adjust air conditioning according to ambient temperature, the temperature sensor must be able to communicate with the air conditioner. This communication is held through MQTT. As expected, MQTT is only intended for small-sized data sets, where responsiveness and power efficiency are prioritized. This doesn’t lend well to large data sets – the result being bad scaling. Kafka, on the other hand, is designed specifically with massive data feeds in mind. Sound IoT systems use Kafka and MQTT in conjunction, co-existing separately for maximum performance and scalability.

转载于:https://www.cnblogs.com/ryu-manager/p/9481201.html

kafka和mqtt的区别和联系相关推荐

  1. Kafka消息中间件(Kafka与MQTT区别)

    文章目录 Kafka Kafka重要原理 Topic 主题 Partition 分区 Producer 生产者 Consumer 消费者 Broker 中间件 Offset 偏移量 Kafka与mqt ...

  2. kafka和mqtt的区别是什么?

    两者都是从传统的Pub/Sub消息系统演化出来的,但是进化方向不一样,比较如下: Kafka是为了数据集成的场景, 与以往Pub/Sub消息总线不一样, 通过分布式架构提供了海量消息处理.高容错的方式 ...

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

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

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

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

  5. Kafuka面试(整合Kafka两种模式区别)

    整合Kafka两种模式说明 ★面试题:Receiver & Direct 开发中我们经常会利用SparkStreaming实时地读取kafka中的数据然后进行处理,在spark1.3版本后,k ...

  6. kafka和pulsar的区别

    Pulsar是一款分布式发布/订阅消息平台,近两年非常火,被称为下一代的消息流平台,大有取代Kafka的势头.今天我们就来比较一下Pulsar跟Kafka. 历史背景 Pulsar源自Yahoo,于2 ...

  7. kafka reassign 限速_简单明了,Kafka与MQ的区别

    作为消息队列来说,企业中选择mq的还是多数,因为像Rabbit,Rocket等mq中间件都属于很成熟的产品,性能一般但可靠性较强, 而kafka原本设计的初衷是日志统计分析,现在基于大数据的背景下也可 ...

  8. modbus RTU 与OPC-UA、OPC-DA、MQTT协议区别对比

    这两种协议使用的场景不同. Modbus支持串口和网络,主要是工业设备间通信,适合数据量小(每次传输几百个字节)的场景. OPC-DA和OPC-UA都是网络协议. Modbus协议更简单透明,数据量小 ...

  9. 物联网协议之一:MQTT协议和kafka

    物联网协议之一:MQTT协议 MQTT 入门介绍 MQTT 入门介绍 | 菜鸟教程 微消息队列MQTT与RocketMQ/Kafka/RabbitMQ区别_jack361博客 (618条消息) web ...

  10. tcp实时传输kafka数据_将物联网数据和MQTT消息流式传输到Apache Kafka

    Apache Kafka是一个实时流媒体平台,在大型和小型组织中得到广泛采用.Kafka的分布式微服务架构和发布/订阅协议使其成为在企业系统和应用程序之间移动实时数据的理想选择.据一些人称,超过三分之 ...

最新文章

  1. ui-router中使用ocLazyLoad和resolve
  2. 案例九:shell脚本自动创建多个新用户,并设置密码
  3. c#字符串操作方法实例
  4. Spring学习11-Spring管理各种数据源
  5. 【design pattern】工厂方法模式和抽象工厂模式
  6. oracle加大内存对大表,在ORACLE里如果遇到特别大的表,可以使用分区的表来改变其应用程序的性能...
  7. 牛客网刷题 --- 输入输出数据处理
  8. vue 中基于html5 drag drap的拖放
  9. 采用python解决实际问题_应用 Python 解决一些实际问题
  10. Centos7-Mysql-5.6.41一主两从的搭建
  11. c#窗口操作-句柄操控全解
  12. MySQL数据库导入代码_mysql数据库导入导入代码
  13. 基于mfc 组态软件_组态软件有哪些?InTouch、WinCC、组态王?
  14. 长沙银河计算机学校,长沙银河中等职业学校办学特色
  15. 用WIN汇编开发桌面报时工具
  16. git --allow-unrelated-histories
  17. 基于依存句法分析的开放式中文实体关系抽取
  18. glew, glee与 gl glu glut glx glext的区别和关系
  19. 将idea中文显示转化成英文
  20. 怎样把电脑上的歌曲格式转换成MP3格式

热门文章

  1. 直播 3.0 时代,在线教育行业的裂变和重构
  2. centos服务器 常用命令
  3. Apache无法加载PHP模块的解决方案
  4. springboot-28-security(一)用户角色控制
  5. 使用PADDING-TOP:(PERCENTAGE)实现响应式背景图片
  6. HBase中MVCC的实现机制及应用情况
  7. 总结C#语言命名规范 (转)
  8. 《SQL Server 2000 完全实战:数据转换服务(DTS)》
  9. 无法登录苹果开发者_苹果开发者账号最新2020申请方式可支付宝微信付款
  10. oracle脚本转mpp脚本,范本:使用expdp/impdp克隆生成一个新数据库