首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有什么好的资源可以用来设计一个可以很好扩展的基于web服务的架构?

有什么好的资源可以用来设计一个可以很好扩展的基于web服务的架构?
EN

Stack Overflow用户
提问于 2009-03-16 14:27:12
回答 3查看 337关注 0票数 3

我有一个web应用程序,目前有大约500,000个用户,平均每小时大约500个页面浏览量,我们预计在明年必须扩展到20,000,000个用户。

我们目前的系统无法处理这种规模,因此我们需要转移到可以处理的系统。

我认为基于服务的架构将更加健壮,并且允许组件服务独立于彼此和主应用程序进行扩展。

但有人警告我,可以很容易地设计一个伸缩性不好的服务体系结构,而且由于我几乎没有设计这样的系统的经验,所以查阅一些推荐的资源可能比仅仅“尝试一下”要好。

那么,建议使用哪些资源来构建可伸缩的系统呢?平台是.Net,但我认为同样的信息也适用于任何基于服务的体系结构,而与平台无关。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-03-22 10:59:13

我首先要回答Gennady Shumakher的评论--“您认为当前系统的瓶颈是什么?”一旦你知道了这一点,你就可以具体地处理它,然后根据需要处理整个应用程序。

Twitter是一项有趣的研究。它一开始只有少量的请求,但很快就发展成为一个使用率很高的平台,拥有全球范围的流量。This可能会很有用。同样有趣的可能是这个blog on scalability

票数 2
EN

Stack Overflow用户

发布于 2009-05-13 16:41:36

我想推荐易趣architectural principles presentation和一个很好的演示文稿的writeup。实际上,Ebay采用了典型的面向服务的方法。服务是按功能提取的,因此每个服务都可以独立扩展。我认为有一些好的地方可以让你学习。

票数 2
EN

Stack Overflow用户

发布于 2009-03-16 14:48:21

从理论上讲,它是可扩展的,但您需要注意延迟。假设你外部化了一个模块,现在你可以有两个服务,代替一个服务,但在发送,处理,回复一个外部服务的请求所需的时间内,你可以处理100个内部请求,所以除非你有100个服务器,否则你实际上会得到更低的吞吐量,但无论哪种方式,你都需要花费更多的维护和空间,100个服务器与1个服务器。通常情况下,必须在延迟和处理之间衡量平衡,作为经验法则,如果你需要发送大量数据,你最好不要将这一步划分到一个服务中。幸运的是,你有一个可以衡量的运行系统,大多数人只能根据规格来猜测。

因此,考虑你的数据流模式,并支持局部性,这是一种艺术,沿着颗粒将你的应用程序切割到服务上,而不是反对它。

您可能会对阅读有关并发模式的内容感兴趣,因为这就是它的归结。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/650654

复制
相关文章

相似问题

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