Когда хорошее время начать думать о масштабировании?

StackOverflow https://stackoverflow.com/questions/2878419

Вопрос

Я проектировал сайт за последние пару дней и выполнял некоторые исследования различных аспектов масштабирования сайта горизонтально. Если дела идут как запланировано, через несколько месяцев (годы?) Я знаю, что мне нужно будет беспокоиться о масштабировании сайта вверх и вне, поскольку ресурсы в конечном итоге охватывают потребление, будут огромными.

Итак, это заставило меня думать, когда лучшее время начать думать, и проектировать, масштабируемость? Если вы начнете слишком рано, вы можете легко затруднить ваш дизайн и сделать невозможным на самом деле. Вы также можете быть слишком догнаны деталями, архитектуру, что угодно, и заверили ничего не сделали. Кроме того, если вы получите его работать, но сайт никогда не взлетает, вы, возможно, потратили хороший кусок дополнительных усилий.

С другой стороны, вы могли бы спасать себя тонну усилий по дороге. Разработайте его с земли, чтобы быть большим, сделало бы намного проще, чтобы позволить ему расти, с очень маленьким переписывать.

Я знаю, над тем, что я работаю, я решил сделать по крайней мере несколько выборов сейчас на стороне масштабирования, но я не собираюсь сделать полную смену мышления, чтобы полностью масштабироваться. Примечательно, что я переработал свою базу данных из обычного реляционного дизайна к одному аналогичному, что было предложено на сайте Reddit, связанные ниже, и я собираюсь дать Memcache S попробуйте.

Итак, основной вопрос, Когда хорошее время начать думать или беспокоиться о масштабировании, а какие хорошие дизайны, советы и т. Д. Для этого при этом?

Пара вещей, которые я читал, для тех, кто заинтересован:

http://www.codinghorror.com/blog/2009/06/scaling-up-vs-scaling-out-hidden-costs.html.

http://highscalability.com/blog/2010/5/17/7-lots-lebliced- while-building-reddit-to-270-million-page.html.

http://developer.yahoo.com/performance/rules.html.

Это было полезно?

Решение

Хорошо - хотя и разумная архитектура должна позволить вам увеличить позже, не требуя чрезмерных ресурсов для реализации. Это следует подумать о самого начала проекта.

В наше время существует очень хорошие архитектуры и узоры проектирования предприятия, которые вы можете рисовать от (Rails, MVC, Spring и т. Д.), Что позволяет разработать программное обеспечение на хорошо обоснованном и хорошо понятном основании, который предоставляет необходимые механизмы для расширения масштабирования.

Другие советы

Под определенной точкой зрения методы масштабирования вполне приняты и консолидированы. Таким образом, вместо того, чтобы полагаться на веб-ссылки / статьи, я бы читал книги на тему, прежде чем начать пробел.

Я предлагаю:

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top