在使用Apache风暴时是否必须使用Apache Kafka?

时间:2015-07-01 07:36:27

标签: hbase apache-kafka apache-storm

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

在我的项目中,客户端应用程序将向服务器端发送消息,服务器端应该对消息进行身份验证,处理它们并存储到HBase中。只有约束是不应该删除消息,每条消息都必须保存到HBase中,如果处理该消息需要几分钟就可以了。

我想知道

  1. 使用Kafka和Storm是强制性的吗?
  2. 使用Kafka和Storm有什么好处?
  3. 如果我不使用Kafka风暴会怎么样?
  4. 请您告诉我Kafka的使用情况。

1 个答案:

答案 0 :(得分:5)

  1. 没有必要将Kafka与Storm一起使用。两个系统彼此独立
  2. Kafka是一个可靠的消息队列,因此,有助于Storm拓扑提供容错功能(即,它简化了所谓的可靠Spout的实现)
  3. 见(2) - >也就是说,如果你想要有容错保证,你需要自己照顾你的Spouts的可靠性
  4. 如果你想在继续使用HBase之前处理和验证Storm中的传入消息,我建议你使用Kafka。 Kafka将充当缓冲区,其中每个传入消息都可靠地存储。 Storm可以消耗来自Kafka的消息。如果Storm中的消息丢失,则可以从Kafka重新读取消息。在将消息保留给HBase之后,Kafka可以放弃该消息。

相关问题