两者虽然都是从传统的Pub/Sub消息系统演化出来的,但是进化的方向不一样,以下是几个比较突出的点:Kafka是为了数据集成的场景,与以往Pub/Sub消息总线不一样,通过分布式架构提供了海量消息处理、高容错的方式存储海量数据流、保证数据流的顺序等特性。可以参考云上的卡夫卡 - 数据工会。MQTT是为了物联网场景而优化,不但提供多个QoS选项(exact once、at least once、at most once),而且还有层级主题、遗嘱等等特性。可以参考MQTT入门篇 - 数据工会。说白了都是传统消息系统(老爸)的子嗣,只是与不同的场景(老妈)结合的产物。不过,两者却可以结合起来使用。比如可以用MQTT接受物联网设备上传的数据,然后接入Kafka,最后可以同时分发到HDFS归档、数据仓库做OLAP分析、Elasticsearch做全文检索,这样的架构非常适合大型物联网项目,不但能够处理海量数据同时也具有很好的扩展性。
作者:张琪
链接:https://www.zhihu.com/question/30343125/answer/81954454
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
分享到:
相关推荐
kafka-connect-mqtt 此仓库包含用于Apache Kafka的MQTT源和接收器连接器。 已通过Kafka 2+进行了测试。 使用源连接器,您可以订阅MQTT主题,并将这些消息写到Kafka主题。 接收器连接器以相反的方式工作。 笔记: ...
借助Apache Kafka和MQTT大规模进行物联网(IoT)和事件流传输。 开发该项目是为了实践我在Udemy课程-Kafka 和-Kafka中学到的知识。 您也可以阅读有关此项目的更多详细信息。 架构概述 该体系结构的主要目标如下: ...
kafka-mqtt-connectors-test
iot.mqtt2kafkabridge:Mqtt 2卡夫卡桥
十四、MQTT 与 Kafka 十五、下一步 十六、参考信息 一、简介 MQTT 全称为 Message Queuing Telemetry Transport(消息队列遥测传输)是一种基于发布/订阅范式的“轻量级”消息协议,由 IBM 发布。 MQTT 可以被解释为...
兼顾低延时和高吞吐量的高性能设计,...兼容多种协议,支持OpenMessaging,Kafka和MQTT客户端,支持异构客户端生产或消费同一Topic; 开箱即用,易于部署:单进程、零依赖,无需部署额外的ZooKeeper或Naming Service。
内置的多协议支持,可与OpenMessaging,Kafka和MQTT客户端很好地协同工作。 易于部署:单进程,零依赖,无需其他集群协调服务。 大规模集群。 耐用性强 基于一致性复制。 功能齐全的Web管理控制台。 其他不错...
用定时器来进行定时上报,向mqtt broker中发送模拟消息,以达到设备模拟的效果,可通过kafka来监听mqtt的消息来进行储存,来在系统中进行分析转换。有新建模拟器、修改模拟器、删除模拟器、查询模拟器,修改模拟器的...
Telegraf 是一个用 Go 编写的代理程序,可收集系统和服务的统计...它还具有输出插件,可将指标发送到各种其他数据存储,服务和消息队列,包括InfluxDB,Graphite,OpenTSDB,Datadog,Librato,Kafka,MQTT,NSQ等等。
MQTT 物联网传感器数据的流式异常检测 我为传感器分析构建了一个 KSQL UDF。 它利用 new 对传入事件进行连续流处理。 如果您想构建自己的 UDF,请查看此博客文章,了解详细的“操作方法”以及开发和测试过程中的潜在...
车联网数据收集与分析平台,主要使用:MQTT+Kafka+KSQL+Tensorflow
Java + Netty 实现的高并发高可用MQTT服务broker,轻松支持10万并发,已用于生产环境 技术体系:(使用 netty 实现通信及协议解析,使用 nutzboot 提供依赖注入及属性配置,使用 redis 实现消息缓存,集群,使用 ...
9、NIFI综合应用场景-通过NIFI配置kafka的数据同步 网址:https://blog.csdn.net/chenwewi520feng/article/details/130622776 本文旨在介绍nifi与kafka的交互过程,即生产数据到kafka中,然后通过nifi消费kafka中的...
背景:原生云的MQTT和Kafka 如果您需要更多有关构建可扩展的IoT基础结构的挑战的背景,MQTT和Apache Kafka之间的区别和关系以及基于Kubernetes实现云原生IoT基础结构的,请查看幻灯片“ ”。背景:带有Kafka的...
里面包含了:kafka-connect-jdbc-4.1.1、mysql-connector-java-5.1.40.jar、kafka-connect-elasticsearch-5.4.1.jar、commons-codec-1.11.jar、commons-logging-1.2.jar、 httpclient-4.5.12.jar、...
InfluxDB 是一个时间序列数据库,用于处理海量写入与负载查询。...它还具有输出插件,可将指标发送到各种其他数据存储,服务和消息队列,包括InfluxDB,Graphite,OpenTSDB,Datadog,Librato,Kafka,MQTT,NSQ等等。
将MQTT PUBLISH转换为一个或多个Kafka记录 查询特定Kafka主题的存在 创建新的Kafka主题 使用SDK HiveMQ Kafka扩展自定义SDK在Maven Central中可用,因此不需要特殊配置。 要使用SDK,请将以下依赖项添加到您的...
前端开源库-ascoltatoriAscolatori,由redis、mongodb、amqp(rabbitmq)、zeromq、kafka、mqtt(mosquitto)或plain node支持的节点的pub/sub库!
数据采集相关工具、源码、数据集等资源
我的mqtt协议和emqttd开源项目个人理解(13) - Hook使用和连接Kafka发送消息,使用brod