5

我有一个 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 应用程序)?如果是,我应该瞄准什么?
  • glassfish 集群似乎是一种选择,但它的规模有多大?即便如此,运行 1000-2000 台服务器(即使在云中)听起来对我来说也不是很吸引人。
  • 如果 tomcat/glassfish 是错误的答案,有什么替代方案?
  • 目前瓶颈是 webapp,但我认为在某个阶段数据库也可能成为问题。MySQL 扩展到这样的规模有多好?
4

1 回答 1

2

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

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

于 2013-11-04T05:56:24.713 回答