如何避免在我非常简单的Web应用程序中泛滥并使其可扩展?

如何避免在我非常简单的Web应用程序中泛滥并使其可扩展?,第1张

概述我正在尝试使用JSP和Servlets开发一个非常简单的 Java Web应用程序. 1)页面上有一个文本框和一个提交按钮, 2)用户在文本框中输入他的名字,比如约翰,然后点击按钮, 3)字符串被转发到我的servlet, 4)在我的servlet的doPost方法中,我访问发布的字符串变量, 5)我将使用的web服务有一个sayHello方法,它接受一个参数并返回与参数连接的“Hello”, 6 我正在尝试使用JsP和Servlets开发一个非常简单的 Java Web应用程序.

1)页面上有一个文本框和一个提交按钮,
2)用户在文本框中输入他的名字,比如约翰,然后点击按钮,
3)字符串被转发到我的servlet,
4)在我的servlet的doPost方法中,我访问发布的字符串变量,
5)我将使用的web服务有一个sayHello方法,它接受一个参数并返回与参数连接的“Hello”,
6)所以,我调用web服务的sayHello方法,获取返回的变量并将其转发给JsP,它基本上编写了Hello John.

我有两个问题:

1)泛滥:如何避免请求泛滥到我的servlet?我该如何处理?我想创建一个线程来联系Web服务并打个招呼.当请求到达时,我检查线程是否正在运行/忙,如果没有,我处理请求.因此,我每单位时间最多会回答1个请求.听上去怎么样?

2)可扩展性:假设今晚有1,000,000人将访问我的网络应用程序并让我的应用程序每次打招呼十次.如何确保此应用程序可以很好地扩展?关于JsP / Servlet部分我可以做些什么,而不是服务器所依赖的硬件?

我知道这些问题都是通用的,所以我尽量提供尽可能详细的信息.我真的很感激一个彻底的,最重要的答案=)

提前致谢.

解决方法 你可以做很多事情来使它“可扩展”.

首先,servlet负载很小,不太可能出现负载问题;网络服务是.您可以在此处提供两种类型的缩放 – 水平和垂直.

水平扩展是指您以相同的速度提供请求,但可以处理更多请求.这是通过负载平衡,通过F5或其他负载均衡器提供的,并且Web应用程序由多个Web服务器提供服务.

垂直缩放是指在问题上抛出更快的处理器.水平更好.

处理服务本身就是您的可扩展性失败点,因为它是实际工作的完成之处.在这种情况下,您有一个简单的服务,因此您可以使用servlet执行相同的Web服务.但是,如果问题“更难” – 那么,这就是您开始使用JMS提供异步服务的地方,这样您的服务提供商就会尽快使用请求并提供答案.这为您提供了添加更多消费者的自然场所,因此如果您发现您的JMS服务无法处理请求,则添加另一个消费者(另一个服务器正在侦听队列);如果那不能跟上,洗,冲洗,重复.

当然,还有解决问题的云解决方案;我为GigaSpaces TechnologIEs工作,GigaSpaces TechnologIEs为Web服务提供横向可扩展性服务,我们比我刚才概述的解决方案做得更好.要了解其工作原理,请参阅http://www.youtube.com/watch?v=YTEqFzrfVss.

总结

以上是内存溢出为你收集整理的如何避免在我非常简单的Web应用程序中泛滥并使其可扩展?全部内容,希望文章能够帮你解决如何避免在我非常简单的Web应用程序中泛滥并使其可扩展?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1073208.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存