我正在制作一个 Web 服务,它实现了一个接受输入参数并将它们存储在数据库中的函数。(代码用 Java 编写,使用 NetBeans IDE 编写,部署在 WebLogic 服务器上。)像这样:
@WebService
class DataSaver {
void saveData( ...data... ) {
...
}
}
它已经完成并且似乎可以正常工作,所以现在我担心安全性:
如果有太多的客户端同时连接(或者有人会在我的站点上进行拒绝服务攻击),那么服务器将无法正确处理所有请求,会发生什么情况?
1)如果服务器/应用程序不崩溃,我会更喜欢。有什么机制可以在过载的情况下发送请求?它们是否默认启用?如果没有,我该如何打开它们?
2) 由于 Web 服务函数不返回值(如果可能的话,我更愿意保留它的代码,如果可能的话),客户端只能通过 HTTP 错误代码来区分已处理和未处理的请求。因此,我希望解决方案在过载的情况下返回 HTTP 错误代码。
我对 Web 服务和性能调整不是很熟悉(我更像是一个理论程序员;算法和其他东西),所以我什至不知道要寻找什么。在我看来,用 Java 解决这个问题为时已晚——当消息到达我的代码时,XML 请求已经被解析。我希望服务器配置中的一些参数可以处理这个问题;但我没有成功通过谷歌或阅读 WebLogic 手册找到它。也许我使用了错误的关键字,或者我对如何解决这个问题有一个完全错误的想法......这就是为什么部分答案也可能非常有用的原因。