gpt4 book ai didi

java - *客户端*可扩展性适用于大量远程 Web 服务调用

转载 作者:行者123 更新时间:2023-12-01 05:56:44 28 4
gpt4 key购买 nike

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

就我而言,我有一个 SOAP 和一个基于 XML-RPC 的 Web 服务,我经常对其进行调用。我预测随着每秒调用次数的增加,这很快就会成为一个问题。

在更高的层面上,我正在考虑对这些调用进行批处理,并每 100 毫秒将它们提交到 Web 服务。您能分享一下其他有效的方法吗?

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

提前致谢

尤里

最佳答案

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

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

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

关于java - *客户端*可扩展性适用于大量远程 Web 服务调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2734767/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com