首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用Java开发高度可伸缩的web应用程序需要做些什么?

用Java开发高度可伸缩的web应用程序需要做些什么?
EN

Stack Overflow用户
提问于 2011-10-10 15:40:15
回答 3查看 2.5K关注 0票数 4

我想从使用过大规模生产系统的经验丰富的Java专业人员那里了解到,需要做些什么才能构建能够处理每天1000多万个请求的规模的web应用程序?

例如,如果需要进行某种缓存,那么使用什么产品质量库进行缓存?

EN

Stack Overflow用户

回答已采纳

发布于 2011-10-10 16:09:49

这是一个很大的话题,不容易回答--超大规模的应用程序通常需要针对它们期望处理的特定类型的负载进行仔细的设计。

例如:如果您的体系结构主要处理只读页面视图(通过复制大量廉价的应用程序服务器来轻松扩展)与处理复杂的金融事务(您需要一种协调大量并发事务的方法),那么您的体系结构将非常不同。

一些一般性的提示:

  • Prefer horizontal -尽可能的,你希望能够通过添加更多便宜的盒子来实现可伸缩性。您设计的应用程序越适合此模型,对可变状态的better.
  • Co-ordinated更改将最终成为可伸缩性的瓶颈,因为它是唯一不能通过廉价的盒子水平扩展到您想要的程度的东西。弄清楚这些变化是什么,并进行相应的设计。如果幸运的话,一个数据库实例就足够了。如果不是这样,您就会遇到非常昂贵的数据库群集/分层事务语义,而不是基于可以扩展territory.
  • Use的NoSQL /高度自定义的数据存储经验证的库/组件。例如,用于高吞吐量communications.
  • Don't的Netty在没有团队专业知识的情况下尝试-将应用程序扩展到“大联盟”是困难的,并且需要专业技能。如果你做错了,你可能会遇到瓶颈,需要昂贵的重写。雇佣以前做过这件事的人。

顺便说一句,每天1000万次请求实际上并不是很大。也就是说每秒只有115个请求。通过相当紧凑的编码,一台现代服务器就可以处理这件事......

票数 4
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7709790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档