srm*_*ark 5 rest soap web-services large-data-volumes
我的下一个项目涉及在企业框架内创建数据 API。这些数据将由在不同软件平台上运行的多个应用程序消耗。虽然我的同事普遍喜欢 SOAP,但我想使用 RESTful 架构。
大多数应用程序每次调用时只需要几个对象。然而,其他应用程序有时需要进行多次连续调用,每次调用涉及数千条记录。我担心的是表现。序列化/反序列化和网络使用是我担心找到瓶颈的地方。如果每个请求都有很大的延迟,那么企业的所有应用都会变得迟缓。
我的恐惧是现实的吗?序列化为 XML 或 JSON 等大量格式会出现问题吗?还有其他选择吗?
过去,为了提高性能,我们必须使用“更扁平”/更精简的文件格式(例如 CSV)来进行这些大型数据传输。我如何希望使用 Web 服务获得所需的性能?
虽然我更喜欢针对 REST 的回复,但我也有兴趣了解 SOAP 用户可能如何处理这个问题。
我们提供 XML 和 JSON。您提到的渲染时间确实可能是一个问题。在服务器端,我们有 JAXB,当涉及到 marshall XML 时,其标准 sun 实现有点慢。XML 的缺点是冗长,但在互操作性方面也很好,并且具有模式 + 显式版本控制。
我们通过多种方式补偿了冗长(尤其是限制结果集):
通常赋予客户端使用结果集限制的权力。他们肯定会使用它,因为它也加快了他们的响应时间:)
还可以使用压缩,它可以极大地减少冗长的 XML(在我们的例子中,负载减少了 10 倍)。从客户端,您可以通过标头“Accept-Encoding:gzip”来完成此操作。如果您使用 Apache,服务器配置也很简单
| 归档时间: |
|
| 查看次数: |
3462 次 |
| 最近记录: |