【发布时间】:2011-07-09 21:55:05
【问题描述】:
假设您要构建一个具有高可扩展性的 Web 应用程序(超过 10,000 个同时用户)。您如何保证良好和稳定的性能?哪些设计模式值得推荐?最常见的错误是什么?
是否有框架强迫自己编写可扩展的代码?您是否会考虑将 php 作为前端而将 Java 作为后端技术?或者让我们说 JSF 也是合理的,而这一切都与您的架构有关?在这种情况下,使用 Grails 进行开发有多好?
希望这个帖子不要太主观,但我想收集一些你的经验:-)
【问题讨论】:
-
您确实想在 Google 上搜索 "C10K" 和 Java。引人入胜的读物。现在当然有几种语言/操作系统可以在不太强大的硬件上处理 C100K(比您要求的连接数多 10 倍);)
-
您的意思是同时有 10,000 个用户,例如:1) 每秒 10,000+ HTTP 次点击或 2) 10,000 个同时登录的用户。对于#1,见 C10K;对于 #2,对于任何常用框架来说,这可能都不是问题,假设您还没有尝试在不到几分钟的时间内登录所有这些用户。
-
我在想第二点:-)
-
您可能想要实现一个线程池或连接池系统,这样您就可以配置每秒的最大线程数/连接数(基于 CPU 和内存容量)。这是为了保持延迟,并确保在有大量请求进入时服务器不会崩溃。
标签: java performance scalability