我正在寻找一种方法,将日志数据从文件流到我们的数据库中。我读过spark streaming和storm manage real-time,但我不知道如何管理未经处理的数据,因为数据中断。我的意思是,假设系统正在运行,数据被实时处理,突然系统停止,10分钟后重新启动。有没有一种方法可以在不影响实时流的情况下处理这些挂起的数据?谢谢
ua4mk5z41#
例如 Storm 您需要从一个可靠的数据源读取数据,该数据源保存传入的消息,并允许使用者从停止点继续。这种数据源的一个例子是 kafka 在kafka的例子中,直播流不会因为你的消费者(storm、spark或你正在使用的任何东西)停止而停止。Kafka将继续接收消息,并将继续向订阅特定流的客户端提供这些消息。容错的关键在于您选择分发实时流的系统,而不是您选择处理它的工具。处理工具始终可以从停止点恢复,并在消息传递系统允许的情况下继续处理。另一个可以处理使用者失败的消息系统代理是 Rabbit MQ .
Storm
kafka
Rabbit MQ
1条答案
按热度按时间ua4mk5z41#
例如
Storm
您需要从一个可靠的数据源读取数据,该数据源保存传入的消息,并允许使用者从停止点继续。这种数据源的一个例子是kafka
在kafka的例子中,直播流不会因为你的消费者(storm、spark或你正在使用的任何东西)停止而停止。Kafka将继续接收消息,并将继续向订阅特定流的客户端提供这些消息。容错的关键在于您选择分发实时流的系统,而不是您选择处理它的工具。处理工具始终可以从停止点恢复,并在消息传递系统允许的情况下继续处理。
另一个可以处理使用者失败的消息系统代理是
Rabbit MQ
.