Storm是一个分布式实时计算系统,它主要用于处理大规模的实时数据流。在工作中的群集上重放失败的消息是不可行的,而是在本地桌面的群集模式上重放,有以下几个原因:
- 群集模式和本地桌面模式的区别:在工作中的群集模式中,Storm集群通常由多个节点组成,每个节点负责处理一部分数据流。而在本地桌面模式中,Storm运行在单个节点上,主要用于开发和测试目的。由于群集模式涉及到多个节点的协同工作,重放失败的消息会涉及到多个节点之间的通信和数据同步,这会增加复杂性和开销。
- 实时性要求:Storm主要用于实时数据处理,对于失败的消息,重放可能会导致延迟增加,影响实时性能。在工作中的群集模式中,重放失败的消息可能会导致整个数据流的延迟,从而影响实时计算的准确性和效率。
- 数据一致性:在工作中的群集模式中,由于数据流可能分布在多个节点上进行处理,重放失败的消息可能会导致数据一致性的问题。不同节点上的数据可能会出现不一致的情况,从而影响计算结果的准确性。
- 资源消耗:在工作中的群集模式中,重放失败的消息会增加系统的资源消耗。由于群集模式涉及到多个节点的协同工作,重放失败的消息可能会导致额外的网络通信、数据同步和计算开销,从而增加系统的负载和资源消耗。
综上所述,为了保证实时性、数据一致性和资源消耗的考虑,Storm没有在工作中的群集上重放失败的消息,而是在本地桌面的群集模式上重放。这样可以更好地满足实时数据处理的需求,并减少对整个系统的影响。