何时是开始考虑扩展的好时机?

Tar*_*rka 5 language-agnostic scaling horizontal-scaling

我在过去的几天里一直在设计一个网站,并且正在对横向扩展网站的不同方面进行一些研究.如果事情按计划进行,几个月(几年?)我知道我需要担心扩大网站的规模,因为最终消耗的资源将是巨大的.

所以,这让我想到,何时是开始思考和设计可扩展性的最佳时机?如果你太早开始,你可能很容易使你的设计复杂化,并使其无法实际构建.您也可能会对细节,架构,无论如何都陷入困境,最终无所事事.此外,如果你确实让它工作,但网站永远不会起飞,你可能浪费了很多额外的努力.

另一方面,你可以在路上节省大量的精力.从头开始设计它会变得更容易,以后让它变大,只需很少的重写.

我知道我正在做什么,我决定现在至少在缩放方面做出一些选择,但我不打算彻底改变思路以使其完全扩展.值得注意的是,我已经将我的数据库从传统的关系设计重新设计为类似于下面链接的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

Rob*_*vey 1

一个经过深思熟虑、合理的架构应该允许您在以后进行扩展,而无需过多的资源来实施。从项目一开始就应该考虑这一点。

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