سؤال

لقد قمت بتصميم موقع على مدار اليومين الماضيين ، وكنت أقوم ببعض الأبحاث في جوانب مختلفة من توسيع نطاق الموقع أفقيًا. إذا سارت الأمور كما هو مخطط لها ، في غضون بضعة أشهر (سنوات؟) أعلم أنني بحاجة إلى القلق بشأن توسيع نطاق الموقع لأعلى وللخارج ، لأن الموارد التي ستستهلكها ستكون ضخمة.

لذلك ، جعلني هذا أفكر ، ما هو أفضل وقت للبدء في التفكير ، والتصميم ، قابلية التوسع؟ إذا بدأت مبكرًا جدًا ، فيمكنك بسهولة تعقيد التصميم الخاص بك ، وجعل من المستحيل بناء بالفعل. يمكنك أيضًا الانخراط في التفاصيل ، والهندسة المعمارية ، أيا كان ، وينتهي الأمر بإنجاز أي شيء. أيضًا ، إذا قمت بعملها ، لكن الموقع لا تقلع أبدًا ، فقد تكون قد أهدرت جزءًا كبيرًا من الجهد الإضافي.

من ناحية أخرى ، قد تنقذ نفسك الكثير من الجهد على الطريق. إن تصميمه من الألف إلى الياء ليكون كبيرًا سيجعل الأمر أسهل في وقت لاحق في وقت لاحق من السماح له بالنمو بشكل كبير ، مع إعادة كتابة قليلة للغاية.

أعرف ما أعمل عليه ، لقد قررت اتخاذ ما لا يقل عن بعض الخيارات الآن على جانب التحجيم ، لكنني لن أقوم بتغيير كامل في التفكير لجعله يتوسع تمامًا. والجدير بالذكر ، لقد أعدت تصميم قاعدة البيانات الخاصة بي من تصميم علائقي تقليدي إلى واحد مشابه لما تم اقتراحه في موقع Reddit المرتبط أدناه ، وسأجرب Memcache تجربة.

لذا ، السؤال الأساسي ، متى يكون الوقت المناسب لبدء التفكير أو القلق بشأن التحجيم ، وما هي بعض التصميمات الجيدة والنصائح وما إلى ذلك عند القيام بذلك؟

هناك شيئان قرأتهما ، لأولئك المهتمين:

http://www.codinghorror.com/blog/2009/06/scaling-up-vs-scaling-thidden-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

هل كانت مفيدة؟

المحلول

على الرغم من أن الهندسة المعمارية المعقولة ، يجب أن تسمح لك بالتوسيع في وقت لاحق دون الحاجة إلى موارد مفرطة للتنفيذ. يجب التفكير في هذا منذ بداية المشروع.

في الوقت الحاضر ، هناك أبناء جيد للغاية وأنماط تصميم للمؤسسات التي يمكنك استخلاصها من (Rails ، MVC ، Spring ، وما إلى ذلك) التي تتيح لك تطوير البرامج على أساس راسخ وفهم جيدًا يوفر الآليات اللازمة لتوسيع نطاقها.

نصائح أخرى

تحت وجهة نظر معينة ، يتم قبول تقنيات التحجيم وتوحيدها تمامًا. لذا بدلاً من ذلك على الاعتماد على روابط/مقالات الويب ، قرأت الكتب حول الموضوع قبل بدء التحقيق.

أقترح:

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top