2009-09-28 7 views
8

Niedawno użyłem Django dla bardzo małej witryny w stylu CMS. Byłem pod wrażeniem tego, jak szybko i łatwo udało mi się opracować projekt Django, że teraz rozważam użycie go do znacznie większego projektu.Czy Django powinno być używane w dużych, złożonych witrynach?

Zanim jednak podnieci mnie ten pomysł, po prostu chcę go uruchomić przez kogoś, kto faktycznie opracował bardzo dużą stronę Django (z wieloma funkcjami i dużym ruchem).

Mając na uwadze, że ostatnio używałem głównie C# Asp.Net - Czy są jakieś pułapki, o których powinienem wiedzieć?

Odpowiedz

5

To będzie zależeć dużo na dokładnie to, co masz na myśli przez „duże” i „kompleks”.

Jeśli chodzi o "złożony", spójrz na Pinax. Mnóstwo funkcji zbudowanych z prostych aplikacji Django jest połączonych ze sobą i wciąż jest uważane za ramy, które można wykorzystać jako początek budowy witryny oprogramowania społecznościowego. Ale jestem pewien, że wciąż możesz wymyślić jakąś wersję "złożonego", która nie pasuje do architektury Django.

Obsługa dużych ilości ruchu i dużych zestawów danych to już inna kwestia. Ostatecznie, jeśli osiągniesz wystarczająco duże rozmiary, Django się z tym nie poradzi. Ale tak naprawdę, ani nie będzie żadnych ram. Jacob-Kaplan Moss (jeden z twórców django) ma a great article przedstawiający historię rozwoju sieci, która doprowadziła do miejsca, w którym znajduje się Django. Ma solidne uzasadnienie dla tego, dlaczego Django lub jakakolwiek inna struktura nie jest w stanie zapewnić doskonałego rozwoju i ogromnej skalowalności, ale dlaczego warto zacząć od tego jednego. Zasadniczo, żadne dwa witryny o wysokim natężeniu ruchu nie będą miały takich samych problemów skalowalności: wszystkie będą potrzebować niestandardowego podejścia, które jest specyficzne dla dokładnego rodzaju danych i ruchu, z którym mają do czynienia. Ale ponieważ trudno jest dokładnie przewidzieć, gdzie te wąskie gardła będą, dobrym pomysłem jest rozpoczęcie szybkiego projektowania i rozpoczęcie wymiany komponentów w razie potrzeby.

5

Jak już wspomniano, to naprawdę zależy od tego, co właściwie oznaczają "duży" i "złożony". Jeśli planujesz budowę innego serwisu eBay, odpowiedź brzmi "prawdopodobnie nie".

To pytanie jest zadawane jako część. Szczerze mówiąc, istnieje wiele odpowiedzi. This thread jest całkiem niezły. W tym roku w DjangoCon była również bardzo dobrze oglądana prezentacja pod numerem Scaling Django. Musisz zaprojektować swoją witrynę tak, aby była skalowana niezależnie od używanej technologii.

Moja odpowiedź byłaby: Jeśli witryna będzie przerastać Django (lub innego ram, o to chodzi), to ogromny sukces i prawdopodobnie będziesz mieć wystarczająco dużo kapitału, aby zatrudnić gigantyczny zespół przepisać całej karty rzecz.

Powiązane problemy