分布式休息调用和聚合

Distributed rest calls and aggregrate

我有一个客户端用例需要从 Web 休息服务加载大数据。其余 api 具有高度可扩展性,处理超过 10000 多个并发请求显然没有问题。

我的问题是,我需要同时使用此服务(1000 个请求)并在短时间内加载大量数据。

问题:

1) Each request can return about 10-30MB of compressed json data.
2) My machine can't afford to make 1000+ requests on a 8 core 32G machine due to each thread blockking IO function
3) I'm looking for a distributed method to do this.
4) The service does provide pagination but this is very slow
5) I need a synchronous solution

我已经尝试过 AMS 服务并正在寻找类似 hadoop 的东西来做这件事。虽然我的代码寻找一个 API 来环绕这个休息服务来完成这种大数据加载。

您的 8v32g 机器只能执行与执行剩余 API 调用的并发 8 个线程一样多的任务。您应该寻找一个水平可扩展的解决方案,并牢记您想要使用 1000 * 30(30G 压缩数据)做什么。

Apache Livy 是一种跨 spark 的休息服务,就像您提到的那样,它能够 运行 您的每个任务都在使用您的休息服务并接收 30MB 的 json 数据。

在此处查看 Apache Livy:http://livy.apache.org/。这仍处于孵化阶段,但可在 AWS 中使用。可能不推荐用于企业解决方案,但这可能是您正在寻找的!