gpt4 book ai didi

java - 抗DDoS网络应用设计

转载 作者:行者123 更新时间:2023-11-29 08:52:31 25 4
gpt4 key购买 nike

好的,对于我的应用程序,我正在尝试确定一种尽可能抵抗 DDoS 的架构。显然它永远不会是完美的,但我希望能够防止简单的攻击。<​​/p>

到目前为止,我想到了一些:

1) 每个连接单线程。

这种方法似乎存在令人难以置信的可扩展性问题,并且对于大量连接,拥有太多线程似乎将成为操作系统的调度噩梦。

2) 2 个线程。第一个线程将接受连接并将它们附加到列表中,第二个线程循环遍历列表(此处使用适当的同步)并检查 InputStream 中是否有任何内容。找到东西后,读一行。任何实际工作都将在新的事件线程中完成,包括回复。新线程刚刚通过读取的行。

这个方法好像问题更大。看起来好像是一个简单的 cat/dev/urandom | telnet 服务器端口 会将其锁定。

3) 这与 #2 类似,但在每次迭代时只从每个连接读取一个字节,并在到达换行符字节时将其作为字符串处理。

到目前为止,这似乎是我最好的选择,但这意味着如果攻击发起大量连接并向所有连接发送输入,它可能会大大减慢循环速度。

是否有任何其他可能更适合这项工作的潜在架构?

最佳答案

大公司的整个团队每天都在与各种 DOS 攻击作斗争。这里讨论太多了。在采用简单的缓解技术(如 SYN-cookie 等)之后,您最好的选择就是拥有足够的容量来“吃掉它”。

我建议您编写代码以提高效率,然后在 Google 或 Amazon 等托管服务上运行它,让它们处理抵御 DOS 攻击并扩展您的服务以处理此类峰值。 p>

关于java - 抗DDoS网络应用设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21995978/

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