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

ある観点では、スケーリング技術は非常に受け入れられ、統合されています。そのため、Web リンクや記事に頼る代わりに、プロジェクトを開始する前に、このトピックに関する本を読んでいました。

私は提案します:

于 2010-05-21T17:29:34.197 に答える
1

よく考え抜かれた賢明なアーキテクチャは、実装に余分なリソースを必要とせずに後でスケールアップできるようにする必要があります。これは、プロジェクトの最初から考えておく必要があります。

今日では、スケールアップに必要なメカニズムを提供する確立された十分に理解された基盤上でソフトウェアを開発できる、非常に優れたアーキテクチャとエンタープライズ デザイン パターン (Rails、MVC、Spring など) を利用することができます。

于 2010-05-20T22:51:24.503 に答える