【问题标题】:When is a good time to start thinking about scaling?什么时候开始考虑扩展?
【发布时间】:2010-05-20 22:49:40
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: language-agnostic scaling horizontal-scaling


    【解决方案1】:

    从某种角度来看,缩放技术已被广泛接受和巩固。因此,在开始 probject 之前,我会阅读有关该主题的书籍,而不是依赖网络链接/文章。

    我建议:

    【讨论】:

      【解决方案2】:

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

      如今,您可以从非常好的架构和企业设计模式(Rails、MVC、Spring 等)中汲取灵感,让您能够在完善且易于理解的基础上开发软件,从而提供必要的扩展机制起来。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-10-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-07
        • 2011-02-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多