2010-05-20 10 views
5

W ciągu ostatnich kilku dni projektowałem stronę i przeprowadzałem badania różnych aspektów skalowania witryny w poziomie. Jeśli wszystko pójdzie zgodnie z planem, za kilka miesięcy (lat?) Wiem, że musiałbym się martwić o skalowanie witryny, ponieważ zasoby, które zużywałaby, byłyby ogromne.Kiedy nadszedł czas, aby zacząć myśleć o skalowaniu?

Więc to mnie zastanowiło, kiedy najlepiej zacząć myśleć i projektować, skalowalność? Jeśli zaczniesz za wcześnie, możesz łatwo skomplikowac swój projekt i uniemożliwić jego budowę. Możesz też za bardzo pochwycić szczegóły, architekturę, cokolwiek i skończyć, nie robiąc nic. Ponadto, jeśli sprawisz, że działa, ale strona nigdy się nie wyłączy, możesz stracić sporo dodatkowego wysiłku.

Z drugiej strony można zaoszczędzić sobie mnóstwo wysiłku na drodze. Zaprojektowanie go od podstaw tak, aby było duże, znacznie ułatwiłoby później jego rozrastanie się, przy bardzo niewielkim przepisywaniu.

Wiem, nad czym pracuję, postanowiłem dokonać co najmniej kilku wyborów teraz po stronie skalowania, ale nie zamierzam dokonać całkowitej zmiany myślenia, aby uzyskać skalę całkowicie. Warto zauważyć, że przeprojektowałem moją bazę danych z konwencjonalnego projektu relacyjnego do podobnego do tego, co zostało zasugerowane na stronie Reddit poniżej i zamierzam dać memcache spróbować.

Podstawowe pytanie, , kiedy jest dobry czas, aby zacząć myśleć lub martwić się skalowaniem, a jakie są dobre projekty, wskazówki itp., Kiedy to robisz?

Kilka rzeczy czytałem, dla tych, którzy są zainteresowani:

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

Odpowiedz

1

Dobrze chociaż na zewnątrz, rozsądny architektura powinna umożliwić możesz skalować później, nie wymagając nadmiernych zasobów do wdrożenia. Należy o tym pomyśleć już na samym początku projektu.

W dzisiejszych czasach istnieją bardzo dobre architektury i schematy projektów przedsiębiorstw, z których można czerpać (Rails, MVC, Spring itp.), Które umożliwiają tworzenie oprogramowania na ugruntowanej i dobrze zrozumiałej podstawie, która zapewnia niezbędne mechanizmy skalowanie.

4

Pod pewnymi względami techniki skalowania są dość akceptowane i skonsolidowane. Zamiast polegać na linkach/artykułach, przeczytałem książki na ten temat przed rozpoczęciem projektu.

Proponuję:

Powiązane problemy