在大量阅读和构建 POC 之后,我们仍然不确定 Storm Trident 或 Spark Streaming 是否可以处理我们的用例:
- 我们有数百万台设备(具有唯一标识符)的入站传感器数据流。
- 我们需要在每个设备级别上执行此流的聚合。聚合将读取之前批次中已经处理(和持久化)的数据。
- 关键点:当我们处理特定设备的数据时,我们需要确保没有其他进程正在处理该特定设备的数据。这是因为我们处理的结果会影响该设备的下游处理。实际上,我们需要一个分布式锁。
- 此外,事件设备数据需要按照事件发生的顺序进行处理。
本质上,我们不能同时处理同一设备的两个批次。
trident/spark 流可以处理我们的用例吗?
任何建议表示赞赏。