【问题标题】:Is it compulsory to use Apache Kafka while using Apache storm?使用 Apache Storm 时是否必须使用 Apache Kafka?
【发布时间】:2015-09-18 06:02:12
【问题描述】:

我想在我的项目中实现 Storm 以进行实时消息处理。我观察到很多人使用“Apache Kafka”和“Storm”。

在我的项目中,客户端应用程序将向服务器端发送消息,服务器端应该对消息进行身份验证、处理并存储到 HBase 中。唯一的限制是消息不应该被丢弃,每条消息都必须持久化到 HBase 中,如果处理该消息需要几分钟就可以了。

我想知道

  1. 是否必须将 Kafka 与 Storm 结合使用?
  2. 将 Kafka 与 Storm 结合使用有哪些优势?
  3. 如果我不将 Kafka 与 Storm 一起使用会怎样?

请各位大神指教一下Kafka的使用方法

【问题讨论】:

    标签: hbase apache-kafka apache-storm


    【解决方案1】:
    1. Kafka 无需与 Storm 一起使用。两个系统相互独立
    2. Kafka 是一个可靠的消息队列,因此有助于 Storm 拓扑提供容错(即,它简化了所谓的可靠 Spout 的实现)
    3. 参见 (2) -> 即,如果您想获得容错保证,您需要自己注意 Spout 的可靠性

    如果您想在将传入消息持久化到 HBase 之前在 Storm 中处理和验证传入消息,我建议您使用 Kafka。 Kafka 将充当缓冲区,可靠地存储每个传入消息。 Storm 可以使用来自 Kafka 的消息。如果消息在 Storm 中丢失,可以从 Kafka 重新读取消息。将消息持久化到 HBase 后,Kafka 可以丢弃该消息。

    【讨论】:

    • 太棒了...非常感谢您提供清晰详细的答案。
    猜你喜欢
    • 2023-04-05
    • 2021-04-25
    • 1970-01-01
    • 2020-04-06
    • 2019-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-01
    相关资源
    最近更新 更多