`
阅读更多
两者虽然都是从传统的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
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics