gpt4 book ai didi

java - 如何让Web Service报表过载?

转载 作者:行者123 更新时间:2023-12-01 05:11:19 25 4
gpt4 key购买 nike

我正在制作一个 Web 服务,它实现一个函数,该函数接受输入参数并将它们存储在数据库中。 (代码是用 Java 编写的,使用 NetBeans IDE 编写,部署在 WebLogic 服务器上。)如下所示:

@WebService
class DataSaver {
void saveData( ...data... ) {
...
}
}

它已经完成并且似乎工作正常,所以现在我担心安全:

如果太多客户端同时连接(或者有人对我的网站进行拒绝服务攻击),导致服务器无法正确处理所有请求,会发生什么情况?

1) 我希望服务器/应用程序不会崩溃。在过载的情况下有哪些机制可以发送请求?它们默认启用吗?如果没有,我该如何打开它们?

2) 由于 Web 服务函数不返回值(如果可能的话,我更愿意保留其现在的代码),因此客户端可以区分已处理请求和未处理请求之间的区别 仅通过 HTTP 错误代码。因此,我希望解决方案能够在过载时返回 HTTP 错误代码。

我对 Web 服务和性能调优不是很熟悉(我更多的是理论程序员、算法和其他东西),所以我什至不知道要寻找什么。在我看来,用 Java 解决这个问题已经太晚了——当消息到达我的代码时,XML 请求已经被解析了。我希望服务器配置中的一些参数可以处理这个问题;但我没有成功地通过Google或阅读WebLogic手册找到它。也许我使用了错误的关键字,或者我对如何解决这个问题有完全错误的想法......这就是为什么部分答案也可能非常有用。

最佳答案

如果您想防御 DOS 攻击,那么您可以获取软件/硬件来做到这一点。

如果您想在代码中执行此操作,那么您可以编写自己的 javax.servlet.Filter。您可以简单地记录 Activity 请求的计数并使用 HTTP 502 或任何您需要的内容进行回复。

关于java - 如何让Web Service报表过载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11990748/

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