【问题标题】:Distributed rest calls and aggregrate分布式休息调用和聚合
【发布时间】:2019-07-20 21:15:00
【问题描述】:

我有一个需要从 Web REST 服务加载大数据的客户端用例。这个 rest 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 来包装这个 rest 服务来执行这种大数据加载。

【问题讨论】:

    标签: java apache-spark mapreduce distributed


    【解决方案1】:

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

    Apache Livy 是一个跨 Spark 的休息服务,就像您提到的那样,它能够运行您的每个任务,即访问您的休息服务并接收 30MB 的 json 数据。

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

    【讨论】:

    • lking 4 未来的企业解决方案。我已经实现了 RPC,而是直接调用数据库而不是访问服务!感谢您的解决方案
    猜你喜欢
    • 2016-10-10
    • 2020-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-14
    • 2021-08-05
    • 2010-10-29
    • 1970-01-01
    相关资源
    最近更新 更多