我有Ubuntu 14.04TS。我使用 Node.js-> Kafka-> Storm-> MongoDB 链。初步开发,一切顺利。消息最终存储在mMngoDB中。
在Kafka,我在kakfa1中有一个Zookeeper和broker0。 kafka2中的broker1。 Storm,Zookeeper,nimbus和DRPC位于storm1。主管和工人位于storm2。
现在的问题是我确实更新了storm1和storm2。我停止了所有关于storm1和storm2的过程。我想Kafka将缓冲来自Node.js的消息。在我重新启动storm1和storm2并重新部署拓扑之后,我发现在storm1 storm2&,s,down和up期间的消息丢失了。事实上,卡夫卡在风暴维持期间并没有保持信息的持久性。
在我看来,Kafka会记住收到确认消息的最后一个索引。
总之,如果风暴正在维护中,我怎么能防止信息丢失。