加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 可以限制分布式应用程序发出的请求吗?

发布时间:2020-12-14 17:44:47 所属栏目:Java 来源:网络整理
导读:我的应用程序使Web服务请求;有提供商将要处理的最大请求率,所以我需要把它们调低. 当应用程序在单个服务器上运行时,我曾经在应用程序级别执行此操作:一个跟踪到目前为止已经进行了多少请求的对象,并且等待当前请求超出允许的最大负载. 现在,我们正在从单个
我的应用程序使Web服务请求;有提供商将要处理的最大请求率,所以我需要把它们调低.

当应用程序在单个服务器上运行时,我曾经在应用程序级别执行此操作:一个跟踪到目前为止已经进行了多少请求的对象,并且等待当前请求超出允许的最大负载.

现在,我们正在从单个服务器迁移到集群,因此运行应用程序的副本有两个.

>我不能继续检查应用程序代码的最大负载,因为组合的两个节点可能会超过允许的负载.
>我不能简单地减少每个服务器的负载,因为如果另一个节点空闲,第一个节点可以发出更多的请求.

这是一个JavaEE 5环境.节省应用程序发出的请求的最佳方法是什么?

解决方法

由于您已经在Java EE环境中,您可以创建一个MDB,该MDB根据JMS队列处理对Web服务的所有请求.应用程序的实例可以简单地将其请求发布到队列,MDB将接收它们并调用Web服务.

队列实际上可以配置适当数量的会话,这将限制对Web服务的并发访问,因此您的调节是通过队列配置来处理的.

可以通过另一个队列(甚至每个应用程序实例的队列)返回结果.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读