想象一个处理系统从其他内部系统或从Internet公开的REST端点接收数据。一旦接收到,一组(后台)任务(根据基于db或其他Web服务的输入计算响应)并行处理数据,一个接一个地接一个地执行,或者在几个并行任务完成时执行一些任务。最后的(边缘)任务可以将结果发送到外部Web服务或存储到数据库表中。
可以将任务设计为简单的服务,以处理其他类似服务从message-queues
传递给它的消息,并将结果发送到另一个队列进行进一步处理。系统可以使用流来处理而不是队列。我发现这种方法(编写由消息代理连接的服务)必须重复处理其故障情况,扩展和吞吐量。
是否有任何特定的框架(例如Flink或Samza或Storm或Airflow或Siddhi或Hazelcast Jet)来实施此类任务并将其部署到负责扩展和故障处理的集群中,而不是将每个任务实施为冗长的服务(例如,春季)并分别进行缩放。