0

想象一个处理系统,它从其他内部系统或从互联网公开的 REST 端点接收数据。收到后,一组(后台)任务(根据数据库或其他 Web 服务计算来自输入的响应)并行处理数据,一些连续的一个接一个,或完成少数并行任务的一些任务。最终(边缘)任务可以将结果发送到外部 Web 服务或存入数据库表。

这些任务可以设计为一个简单的服务,处理message-queues由其他此类服务传递给它的消息,并将结果发送到另一个队列以进行进一步处理。系统可以使用流来处理,而不是队列。我发现这种方法(编写由消息代理连接的服务)必须重复处理它们的故障场景、扩展和吞吐量。

是否有任何特定的框架(如 Flink 或 Samza 或 Storm 或 Airflow 或 Siddhi 或 Hazelcast Jet)来实现这些任务并将它们部署到一个负责扩展和故障处理的集群中,而不是将每个任务实现为详细的服务(例如。 ,在春天)并独立缩放它们。

4

1 回答 1

2

根据您的描述,听起来 Hazelcast Jet 可以在一个部署的作业/管道中完成所有这些工作:从 REST 端点摄取数据,从侧面输入(“数据库或其他 Web 服务”)中丰富,在每一步的级联步骤中处理数据以数据并行的方式执行,最后将数据推送到另一个队列。

这样的作业可以在机器集群上运行无限的时间。我看到的唯一问题是在失败后重新启动,因为 REST 数据源不可重放。

于 2019-11-06T14:55:39.043 回答