1

我想知道在进行大量时间敏感的 Web 服务调用时,您是否可以分享最佳实践和常见错误。

就我而言,我有一个 SOAP 和一个基于 XML-RPC 的 Web 服务,我不断地调用它们。我预测这将很快成为一个问题,因为每秒调用的数量将会增加。

在更高的层次上,我正在考虑对这些调用进行批处理,并每 100 毫秒将它们提交到 Web 服务。你能分享一下还有什么工作吗?

在较低级别的事情上,我使用 Apache Xml-Rpc 客户端和标准 javax.xml.soap.* 包来实现我的客户端。您是否知道这些软件包的任何与客户端可扩展性相关的技巧/提示/警告?

提前致谢

尤里

4

1 回答 1

0

需要意识到的一件事是,在 JavaScript 中,您总是在处理事件泵:一些浏览器事件发生,或者计时器到期,然后一大段 JavaScript 被执行。考虑到该执行模型,您真的不想考虑进行定期批处理和发送过程 - 您想要做的是将在一个事件泵中发生的所有调用批处理在一起(执行的 javascript 块响应来自浏览器的一个事件)并将它们发送出去。

这是通过更改您的 rpc 代码来完成的,以便每个调用将带有参数和回调函数的调用排队到一个全局数组中,如果它正在排队第一个调用,它还会安排setTimeout(..., 0)一个函数,该函数将发送队列中的所有内容并清除大批。

从它开始,然后您可以稍后尝试其他执行模型,例如在获得第一个请求时立即触发它,并在当前事件泵完成后批量发送其他所有内容。

于 2010-04-30T00:28:07.177 回答