将JavaEE应用程序扩展为1.000.000并发用户

时间:2012-12-11 22:16:18

标签: java-ee web-applications scalability

我有一个JavaEE应用程序:1个使用EJB和SOAP的EAR;一些使用Servlet的WAR。目前,EAR部署在Glassfish 3.1.2(社区版)中,WAR部署在tomcat或Glassfish服务器上。

该应用程序由MySQL数据库支持,并且主要在数据库内外进行一些简单的数据按摩。几乎没有静态内容。在当前的体系结构中,战争本身几乎没有任何请求可以应答,并且总是涉及EAR(可能通过一些重新设计来改变它)。

这对20个并发用户开箱即用,并且在中型服务器上最多可以为200个并发用户调整一些http线程池。

我现在必须扩展应用程序以应对1.000.000用户(这不是一个乐观的猜测,而是对业务的现实要求;大多数'用户'将是在现场部署的设备。)

如何扩展此应用程序以处理1.000.000并发用户?特别是:

  • 我是否应该能够为单个glassfish服务器提供超过200-500个用户(对于不太苛刻的Web应用程序)?如果是的话,我应该瞄准什么?
  • 玻璃鱼群似乎是一种选择,但这种规模有多远?即便如此,运行1000-2000台服务器(即使在云端)也不会对我有吸引力。
  • 如果tomcat / glassfish是错误的答案,有哪些替代方案?
  • 目前瓶颈是webapp,但我认为在某个阶段DB也可能成为一个问题。 MySQL如何扩展到这样的大小?

1 个答案:

答案 0 :(得分:2)

希望您能在以下网址中找到一些有用的信息。

http://highscalability.com/blog/category/example