假设您想要构建一个具有高可伸缩性(超过10,000个并发用户)的web应用程序。如何保证良好稳定的性能?哪些设计模式是值得推荐的?最常见的错误是什么?
有没有框架可以强迫你写可伸缩的代码?你会不会考虑用php做前端,用Java做后端技术?或者我们可以说JSF也是合理的,这一切都是关于你的架构的?在这种情况下,使用Grails进行开发有多好?
希望这个帖子不是太主观,但我想收集你的一些经验:-)
发布于 2011-08-12 14:55:13
如果你想构建一个高度可伸缩的应用程序,那么它应该是无状态的,并且尽可能使用无共享架构。如果你没有在节点之间共享任何东西,并且一个节点没有状态,那么同步是最小的。有几个很好的web框架适合你的需求(Play Framework和Lift for Java,Django for Python,Ruby on Rails for Ruby)。
至于JSF和相关技术,我认为在您的案例中使用它们并不明智。一个好的旧请求-响应是更好的。
发布于 2011-08-12 14:02:42
如果您希望您的应用程序具有良好的伸缩性和良好的性能,那么您需要一个分布式缓存。分布式缓存可以极大地提高应用程序的性能,为此,您可以使用任何第三方分布式缓存,如NCache。
发布于 2011-03-07 02:51:55
有这么多的并发用户(我承认我自己从来没有遇到过这种情况),我认为最重要的是能够在多个web服务器之间实现负载平衡。
如果您想要故障转移(这可能是必须的),这意味着您必须非常注意状态:您拥有的状态越多,需要的内存就越多,处理服务器之间的故障转移就越困难:要么需要将会话状态保持在所有服务器通用的位置,要么需要跨服务器复制该状态。
因此,我会选择一种架构,在这种架构中,您不需要太多的状态。IMHO,基于动作的框架比基于组件的框架更适合这种架构,除非状态是在客户端处理的,具有丰富的JavaScript组件。
https://stackoverflow.com/questions/5212568
复制相似问题