5

在过去的几天里,我一直在设计一个网站,并对水平扩展网站的不同方面进行了一些研究。如果事情按计划进行,几个月后(几年?)我知道我需要担心扩大和扩大网站,因为它最终会消耗大量资源。

所以,这让我开始思考,什么时候开始考虑和设计可扩展性的最佳时机?如果您开始得太早,您很容易使您的设计过于复杂,并使其无法实际构建。你也可能过于关注细节、架构等等,最终什么也没做。此外,如果您确实让它正常工作,但该网站从未起飞,那么您可能已经浪费了大量额外的努力。

另一方面,你可以为自己节省大量的精力。从头开始将它设计得很大,这样以后让它变大变得容易得多,几乎不需要重写。

我知道我正在做的事情,我决定现在至少在扩展方面做出一些选择,但我不会完全改变思维来让它完全扩展。值得注意的是,我已经将我的数据库从传统的关系设计重新设计为类似于下面链接的 Reddit 站点上建议的数据库,我将尝试使用 memcache。

所以,基本的问题是,什么时候开始考虑或担心缩放的好时机,以及这样做时有哪些好的设计、技巧等?

我一直在阅读一些东西,对于那些感兴趣的人:

http://www.codinghorror.com/blog/2009/06/scaling-up-vs-scaling-out-hidden-costs.html

http://highscalability.com/blog/2010/5/17/7-lessons-learned-while-building-reddit-to-270-million-page.html

http://developer.yahoo.com/performance/rules.html

4

2 回答 2

4

在某种观点下,缩放技术是相当被接受和巩固的。因此,在开始 probject 之前,我会阅读有关该主题的书籍,而不是依赖网络链接/文章。

我建议:

于 2010-05-21T17:29:34.197 回答
1

一个完善的、合理的架构应该允许您在以后扩展而不需要过多的资源来实现。这应该从项目的一开始就考虑到。

现在有非常好的架构和企业设计模式可供您借鉴(Rails、MVC、Spring 等),它们允许您在完善且易于理解的基础上开发软件,从而提供必要的扩展机制。

于 2010-05-20T22:51:24.503 回答