スケーリングについて考え始めるのに良い時期はいつですか?
-
04-10-2019 - |
質問
私は過去数日間にわたってサイトを設計しており、サイトを水平にスケーリングするさまざまな側面についていくつかの研究を行ってきました。物事が計画どおりに進んだ場合、数ヶ月(年)になった場合(年?)、消費するリソースが膨大になるので、サイトを上げて出てくることを心配する必要があることを知っています。
それで、これは私に考えさせられました。スケーラビリティについて考えてデザインするのに最適な時期はいつですか?早すぎると、デザインを簡単に複雑にし、実際に構築することを不可能にすることができます。また、詳細、アーキテクチャなどに巻き込まれすぎて、何もしないことになります。また、あなたがそれを機能させるならば、サイトが離れることは決してないなら、あなたは余分な努力の塊を無駄にしたかもしれません。
一方、あなたは自分自身に多くの努力を節約することができます。それをゼロから大きくするために設計すると、後でそれを大きくするのがはるかに簡単になり、書き直しはほとんどありません。
私は自分が取り組んでいることを知っています。スケーリングの側で少なくともいくつかの選択をすることにしましたが、完全にスケーリングするために思考の完全な変更を行うつもりはありません。特に、データベースを従来のリレーショナルデザインから、以下にリンクしたRedditサイトで提案されたものと同様のデザインに再設計しました。Memcacheに試してみます。
だから、基本的な質問、 スケーリングについて考えたり心配したりするのに良い時期はいつですか、そしてそうするときの良いデザイン、ヒントなどは何ですか?
興味のある人のために、私が読んできたいくつかのこと:
http://www.codinghorror.com/blog/2009/06/scaling-up-vs-scaling out-hidden-costs.html
解決
十分に賢明なアーキテクチャを使用すると、過度のリソースを実装する必要なく、後でスケールアップできるようになります。これは、プロジェクトの最初から考えられるべきです。
今日、非常に優れたアーキテクチャとエンタープライズデザインパターン(Rails、MVC、Springなど)から描くことができるエンタープライズデザインパターンがあります。
他のヒント
特定の観点では、スケーリング手法は非常に受け入れられ、統合されています。そのため、代わりにWebリンク/記事に頼ることで、Probjectを開始する前にトピックに関する本を読みました。
私は提案します:
- 「スケーラブルなインターネットアーキテクチャ」 - http://www.amazon.com/scalable-internet-architectures-theo-schlossnagle/dp/067232699x/ref=sr_1_1?ie=utf8&s = books&qid=1274462743&sr = 8-1
- 「スケーラビリティの芸術」 - http://www.amazon.com/art-scalability-architecture-organizations-enterprise/dp/013703030428/ref=sr_1_3?ie=utf8&s=books&qid=1274462743 &sr = 8-3
- 「能力計画の芸術」 - http://www.amazon.com/art-capacity-planning-scaling-resources/dp/0596518579/ref=pd_bxgy_b_text_b