• Kafka学习笔记


    • 参考资料:
      • https://www.youtube.com/watch?v=GRPLRONVDWY
      • https://stackoverflow.com/questions/37391827/what-is-the-difference-between-mqtt-broker-and-apache-kafka
      • https://www.ibm.com/blogs/bluemix/2017/01/managing-iot-devices-with-kafka-and-mqtt/
    • Kafka和MQTT的区别:

    MQTT is a protocol with public specification for lightweight client / message broker communications, allowing publish/subscribe exchanges. Multiple implementations of client libraries and brokers (Mosquitto, JoramMQ...) exist and are virtually compatible. MQTT just specifies the transport, and vaguely the application part (i.e. how data is handled and possibly stored, how clients are authorized...). The spec is not clear if data consumed on a topic is only real-time or possibly persistent. The spec doesn't state anything about how the message broker implementing MQTT could/should scale.

    On the other hand, Apache Kafka is a message broker based on an internal "commit log": its focus is storing massive amounts of data on disk, and allowing consumption in real-time or later (as long as data is still available on disk). It's designed to be deployable as cluster of multiple nodes, with good scalability properties. Kafka uses its own network protocol.

    So you are comparing two different things here: a standard pub/sub protocol (with multiple implementations), and a specific message storing/distributing software, vaguley of the same family with its own protocol.

    I'd say that if you need to store massive amount of messages, to ensure batch processing, look more at Kafka. If you have lots of clients/apps exchanging messages in real-time on many independent topics look more at the MQTT (or even AMQP) message broker implementations.

    简而言之, Kafka侧重存储和批量抽取处理;MQTT侧重轻量级的数据收发。

    • Kafka+MQTT的IOT架构:

    IBM Mobile Manager:

  • 相关阅读:
    electron 安装失败解决办法
    面向 B 端的产品经理
    如何学习一门新语言或框架
    斑马为什么有条纹?
    沃伦·巴菲特 | 成功的 10/10/10 法则
    如果想进入一家大公司面试,你会怎么做?
    人工智能缺陷与误觉:让机器产生幻觉的「怪异事件」
    20 世纪 70 年代的太空殖民艺术
    如何实现SSH断开后 进程仍然在后台运行
    让Linux关闭终端(关闭SSH等)后,程序继续运行
  • 原文地址:https://www.cnblogs.com/ryu-manager/p/9407084.html
Copyright © 2020-2023  润新知