本文介绍Storm容错的设计细节。
1、当一个worker进程死了会发生什么?
当worker死了,supervisor会重启它。如果它尝试开启多次失败并且不能与nimbus发送心跳,Nimbus会重新设计worker到另外一台机器上。
2、一个结点死了会发生什么?
分派到这台机器上的任务将会超时并且Nimbus会重新分派这些任务到另外一台机器上。
3、如果Nimbus或者Supervisor daemons死了会发生什么?
Nimbus和Supervisor daemons必须在监控下运行,如果Nimbus或Supervisor daemons死了,他们会重启像什么也没发生一样。
4、如果单节点Nimbus失败了会发生什么?
如果你丢失了Nimbus节点,workers进程会继续运行。另外,supervisors将继续重启workers进程当这些workers进程死了。然后,没有Nimbus,workers将不会被重新分派到其他机器当你丢失了了一台工作的机器。
5、Storm保证数据可靠性处理?