MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的"轻量级"通讯协议。
Apache Kafka是分布式发布 - 订阅消息系统。
1 定义不同
mqtt 是一个协议。
kafka是一个系统。
因为mqtt 是一个协议,所以基于协议有不同的开源项目:如emqx等;有的开源项目增加了分布式集群的处理;
而kafka只有apache kafka一个项目。
2 应用领域不同
mqtt 应用于物联网数据采集。
kafka 应用于数据流处理。
3 范式相同
都是基于发布订阅范式。
在实际的物联网领域,可以mqtt 负责数据的上传;kafka负责收集到的数据分发给不同业务的服务器。
参考开源项目:
https://github.com/kaiwaehner/kafka-connect-iot-mqtt-connector-example