Buduję aplikację internetową za pomocą Django. Powodem, dla którego wybrałem Django, były:
- Chciałem pracować z narzędziami darmowymi / open-source.
- Lubię Pythona i uważam, że jest to język długoterminowy , podczas gdy w przypadku Ruby nie byłam pewna, a PHP wydawało się wielkim problemem do nauki.
- Buduję prototyp pomysłu i nie myślałem zbyt wiele o przyszłości. Szybkość rozwoju była głównym czynnikiem, a ja już znałem Pythona.
- Wiedziałem, że migracja do Google App Engine będzie łatwiejsza, jeśli zdecyduję się to zrobić w przyszłości.
- Słyszałem, że Django był „miły”.
Teraz, gdy zbliżam się do myślenia o publikacji mojej pracy, zaczynam się martwić skalą. Jedyne informacje, które znalazłem na temat możliwości skalowania Django, są dostarczane przez zespół Django (nie mówię nic, aby je zignorować, ale wyraźnie nie są to obiektywne informacje ...).
Moje pytania:
- Jaka jest „największa” strona zbudowana dzisiaj na Django? (Rozmiar mierzę głównie według ruchu użytkowników)
- Czy Django może poradzić sobie ze 100 000 użytkowników dziennie , z których każdy odwiedza witrynę przez kilka godzin?
- Czy witryna taka jak Przepełnienie stosu może działać na Django?
python
django
web-applications
scalability
Roee Adler
źródło
źródło
what's the cost of scaling in the Django?
Odpowiedzi:
„Jakie są obecnie największe witryny oparte na Django?”
Nie ma jednego miejsca, które zbierałoby informacje o ruchu na stronach zbudowanych w Django, więc będę musiał spróbować tego, używając danych z różnych lokalizacji. Najpierw mamy listę witryn Django na pierwszej stronie głównej strony projektu Django, a następnie listę witryn zbudowanych w Django na djangosites.org . Przeglądając listy i wybierając niektóre, które znam, mają przyzwoity ruch, widzimy:
Instagram : Co zasila Instagram: Setki wystąpień, dziesiątki technologii .
Pinterest : Alexa zajmuje 37 pozycję (21.4.2015) i 70 milionów użytkowników w 2013 roku
Bitbucket : 200 TB kodu i 2.500.000 użytkowników
Dyskusja : Obsługa 400 milionów ludzi za pomocą Pythona .
curse.com : 600 000 codziennych wizyt .
tabblo.com : 44 000 odwiedzin dziennie , zobacz posty Neda Batcheldera Infrastruktura dla nowoczesnych stron internetowych .
chesspark.com : Alexa zajmuje około 179 tys. pozycji.
pownce.com (już nie aktywne):ranga Alexa około 65 tys. Mike Malone z Pownce w swojej prezentacji EuroDjangoCon na temat skalowania aplikacji internetowych Django mówi „setki trafień na sekundę”. Jest to bardzo dobra prezentacja na temat skalowania Django i zawiera kilka dobrych punktów, w tym (obecne) niedociągnięcia w skalowalności Django.
HP zbudował witrynę przy użyciu Django 1.5: centrum ePrint . Jednak w przypadku listopada 2015 r. Cała witryna została zmigrowana, a ten link jest tylko przekierowaniem. Ta witryna była ogólnoświatową usługą obejmującą subskrypcję Instant Ink i powiązanych usług oferowanych przez HP (*).
„Czy Django może poradzić sobie z 100 000 użytkowników dziennie, z których każdy odwiedza witrynę przez kilka godzin?”
Tak, patrz wyżej.
„Czy witryna taka jak Przepełnienie stosu może działać na Django?”
Mam przeczucie, że tak, ale jak odpowiedzieli inni i Mike Malone wspomina w swojej prezentacji, projektowanie baz danych ma kluczowe znaczenie. Silny dowód można również znaleźć na stronie www.cnprog.com, jeśli znajdziemy wiarygodne statystyki ruchu. W każdym razie, to nie tylko coś, co się stanie, łącząc kilka modeli Django :)
Istnieje oczywiście wiele innych interesujących stron i blogerów, ale muszę gdzieś się zatrzymać!
Wpis na blogu o korzystaniu z Django do budowy witryny o dużym ruchu michaelmoore.com opisanej jako 10 000 najpopularniejszych witryn . Statystyki Quantcast i statystyki compete.com .
(*) Autor zmiany, w tym takie odniesienie, pracował jako outsourcing programisty w tym projekcie.
źródło
Teraz przeprowadzamy testy obciążenia. Uważamy, że możemy obsłużyć 240 równoczesnych żądań (stały współczynnik 120 trafień na sekundę 24x7) bez znacznego pogorszenia wydajności serwera. To byłoby 432,000 odsłon na godzinę. Czasy odpowiedzi nie są małe (nasze transakcje są duże), ale nie ma pogorszenia naszej podstawowej wydajności wraz ze wzrostem obciążenia.
Używamy frontonu Django i MySQL Apache. System operacyjny to Red Hat Enterprise Linux (RHEL). 64-bitowy Używamy mod_wsgi w trybie demona dla Django. Nie dokonaliśmy żadnej optymalizacji pamięci podręcznej ani bazy danych poza zaakceptowaniem wartości domyślnych.
Wszyscy jesteśmy w jednej maszynie wirtualnej na 64-bitowym komputerze Dell z (myślę) 32 GB pamięci RAM.
Ponieważ wydajność jest prawie taka sama dla 20 lub 200 jednoczesnych użytkowników, nie musimy poświęcać dużej ilości czasu na „ulepszanie”. Zamiast tego musimy po prostu utrzymać naszą podstawową wydajność poprzez zwykłe ulepszenia wydajności SSL, zwykłe projektowanie i wdrażanie baz danych (indeksowanie itp.), Zwykłe ulepszenia wydajności zapory ogniowej itp.
Mierzymy nasze laptopy testujące obciążenie, które zmagają się z szalonym obciążeniem 15 procesów z 16 współbieżnymi wątkami żądań.
źródło
Nie jestem pewien co do liczby codziennych wizyt, ale oto kilka przykładów dużych witryn Django:
Oto link do listy witryn Django o dużym natężeniu ruchu na Quora .
źródło
W USA był to Mahalo . Powiedziano mi, że obsługują około 10 milionów unikatów miesięcznie. W 2019 roku Mahalo jest zasilany przez Ruby on Rails.
Za granicą, Globo sieć (sieć stron z wiadomościami, sportem i rozrywką w Brazylii); Alexa zalicza je do 100 najlepszych na świecie (obecnie około 80).
Inni znaczący użytkownicy Django to PBS, National Geographic, Discovery, NASA (właściwie wiele różnych działów w NASA) oraz Biblioteka Kongresu.
Tak - ale tylko jeśli poprawnie napisałeś aplikację i masz wystarczający sprzęt. Django nie jest magiczną kulą.
Tak (ale patrz wyżej).
Pod względem technologicznym, łatwo: patrz soclone na jedną próbę. Pod względem ruchu konkuruj z kołkami StackOverflow przy mniej niż 1 milion unikalnych miesięcznie. Mogę wymienić co najmniej tuzin witryn Django o większym ruchu niż SO.
źródło
Skalowanie aplikacji internetowych nie dotyczy frameworków ani języków, dotyczy twojej architektury. Chodzi o to, jak obchodzisz się z pamięcią podręczną przeglądarki, pamięcią podręczną bazy danych, jak korzystasz z niestandardowych dostawców trwałości (takich jak CouchDB ), jak dostrojona jest twoja baza danych i wiele innych rzeczy ...
źródło
Wcielając się trochę w adwokata diabła:
Powinieneś sprawdzić Keynote DjangoCon 2008 , dostarczony przez Cala Hendersona , zatytułowany „Dlaczego nienawidzę Django”, w którym omawia wszystko, czego brakuje Django, co możesz zrobić na stronie o dużym ruchu. Pod koniec dnia trzeba wziąć to wszystko z otwartym umysłem, bo to jest całkiem możliwe, aby napisać, że aplikacje Django skalę, ale myślałem, że to była dobra prezentacja i pasuje do Twojego pytania.
źródło
Największą witryną django, którą znam, jest Washington Post , co z pewnością wskazywałoby, że można ją dobrze skalować.
Dobre decyzje projektowe prawdopodobnie mają większy wpływ na wydajność niż cokolwiek innego. Twitter jest często cytowany jako strona, która ucieleśnia problemy z wydajnością w innym frameworku internetowym opartym na dynamicznie interpretowanym języku, Ruby on Rails - jednak inżynierowie Twittera stwierdzili, że framework nie jest tak dużym problemem, jak niektóre z wcześniejszych wyborów dotyczących projektu bazy danych na.
Django działa bardzo dobrze z memcached i udostępnia pewne klasy do zarządzania pamięcią podręczną, w której rozwiązano by większość problemów z wydajnością. To, co dostarczasz na drut, jest w rzeczywistości prawie ważniejsze niż backend - użycie narzędzia takiego jak yslow ma kluczowe znaczenie dla wysokowydajnej aplikacji internetowej. Zawsze możesz rzucić więcej sprzętu na zapleczu, ale nie możesz zmienić przepustowości użytkowników.
źródło
Byłem na konferencji EuroDjangoCon drugi tydzień i był to temat kilku rozmów - w tym od założycieli największej witryny opartej na Django, Pownce (slajdy z jednej rozmowy tutaj ). Główny komunikat jest taki, że nie musisz martwić się o Django, ale takie rzeczy, jak prawidłowe buforowanie, równoważenie obciążenia, optymalizacja bazy danych itp.
Django faktycznie ma haczyki do większości tych rzeczy - w szczególności buforowanie jest bardzo łatwe.
źródło
Jestem pewien, że szukasz bardziej solidnej odpowiedzi, ale najbardziej oczywistym obiektywnym sprawdzeniem, jakie mogę wymyślić, jest to, że Google popycha Django do korzystania ze swojej struktury App Engine . Jeśli ktoś wie o skalowalności i zajmuje się nią regularnie, to Google. Z tego, co przeczytałem, najbardziej ograniczającym czynnikiem wydaje się być zaplecze bazy danych, dlatego Google używa własnego ...
źródło
Jak stwierdzono w High Performance Django Book and Go through this Cal Henderson
Zobacz dalsze szczegóły, jak wspomniano poniżej:
Często zdarza się, że ludzie mówią „Django nie skaluje się” . W zależności od tego, jak na to spojrzysz, stwierdzenie jest albo całkowicie prawdziwe, albo najwyraźniej fałszywe. Sam Django nie skaluje się.
To samo można powiedzieć o Ruby on Rails, Flask, PHP lub innym języku używanym przez dynamiczną stronę internetową opartą na bazie danych.
Dobrą wiadomością jest jednak to, że Django pięknie współdziała z pakietem narzędzi buforowania i równoważenia obciążenia, które pozwolą mu skalować się do tak dużego ruchu, jak to możliwe.
W przeciwieństwie do tego, co przeczytałeś online, może to zrobić bez zastępowania głównych komponentów często oznaczanych jako „zbyt powolne”, takich jak baza danych ORM lub warstwa szablonu.
Disqus obsługuje ponad 8 miliardów odsłon miesięcznie. To są ogromne liczby.
Te zespoły dowiodły, że Django z pewnością jest skalowalny. Potwierdza to nasze doświadczenie w Lincoln Loop.
Zbudowaliśmy duże strony Django, które potrafią spędzić dzień na stronie głównej Reddit bez wysiłku.
Historie sukcesu skalowania Django są w tej chwili prawie zbyt liczne, by je wymienić.
Wspiera Disqus, Instagram i Pinterest. Chcesz więcej dowodów? Instagram był w stanie obsłużyć ponad 30 milionów użytkowników Django, mając tylko 3 inżynierów (z których 2 nie miało zaplecza programistycznego
źródło
Dzisiaj korzystamy z wielu aplikacji i witryn internetowych do naszych potrzeb. Większość z nich jest bardzo przydatna. Pokażę ci niektóre z nich używane przez python lub django.
Washington Post
Witryna Washington Post jest niezwykle popularnym źródłem wiadomości online, towarzyszącym codziennym artykułom. Jego ogromna liczba wyświetleń i ruchu może być łatwo obsługiwana przez platformę internetową Django.
Washington Post - 52.2 million unique visitors (March, 2015)
NASA
Oficjalna strona internetowa National Aeronautics and Space Administration to miejsce, w którym można znaleźć wiadomości, zdjęcia i filmy z ich trwających eksploracji kosmosu. Ta strona internetowa Django może z łatwością obsługiwać ogromne ilości wyświetleń i ruchu.
2 million visitors monthly
Opiekun
The Guardian to brytyjska strona z wiadomościami i mediami należąca do Guardian Media Group. Zawiera prawie całą zawartość gazet The Guardian i The Observer. Te ogromne dane są obsługiwane przez Django.
The Guardian (commenting system) - 41,6 million unique visitors (October, 2014)
Youtube
Wszyscy znamy YouTube jako miejsce do przesyłania filmów o kotach i kończy się niepowodzeniem. Jako jedna z najpopularniejszych stron internetowych, zapewnia nam niekończącą się godzinę rozrywki wideo. Język programowania Python napędza go i funkcje, które kochamy.
DropBox
DropBox rozpoczął rewolucję przechowywania dokumentów online, która stała się częścią codziennego życia. Teraz przechowujemy prawie wszystko w chmurze. Dropbox pozwala nam przechowywać, synchronizować i udostępniać prawie wszystko przy użyciu mocy Pythona.
Survey Monkey
Survey Monkey to największa internetowa firma ankietowa. Mogą obsłużyć ponad milion odpowiedzi każdego dnia na przepisanej stronie Python.
Quora
Quora jest numerem jeden w Internecie, gdzie można zadawać pytania i otrzymywać odpowiedzi od społeczności osób. Na ich stronie internetowej w Pythonie członkowie społeczności odpowiadają, edytują i organizują odpowiednie wyniki.
Bitly
Większość kodu dla usług i analiz Bitly URL-owych jest zbudowana w Pythonie. Ich obsługa może obsłużyć setki milionów wydarzeń dziennie.
Reddit
Reddit jest znany jako pierwsza strona Internetu. Jest to miejsce online do wyszukiwania informacji lub rozrywki w oparciu o tysiące różnych kategorii. Wpisy i linki są generowane przez użytkowników i są promowane na szczyt za pomocą głosów. Wiele możliwości Reddit opiera się na Pythonie.
Hipmunk
Hipmunk to internetowa witryna dla klientów indywidualnych, która porównuje najlepsze witryny turystyczne, aby znaleźć najlepsze oferty. Narzędzia tej witryny Python pozwalają znaleźć najtańsze hotele i loty do miejsca docelowego.
Kliknij tutaj, aby uzyskać więcej: 25 najpopularniejszych witryn python-i-django , jakie są znane witryny działające na Django
źródło
Myślę, że równie dobrze moglibyśmy dodać aplikację Apple na rok 2011, Instagram , do listy intensywnie korzystającej z Django.
źródło
Tak, może. Może to być Django z Pythonem lub Ruby on Rails. Nadal będzie się skalować.
Istnieje kilka różnych technik. Po pierwsze, buforowanie nie jest skalowaniem. Możesz mieć kilka serwerów aplikacji zbalansowanych z nginx jako frontem oprócz sprzętowych urządzeń równoważących. Aby skalować po stronie bazy danych, możesz posunąć się daleko z czytaniem slave w MySQL / PostgreSQL, jeśli korzystasz z RDBMS.
Dobrymi przykładami witryn o dużym natężeniu ruchu w Django mogą być:
Możesz czuć się bezpiecznie.
źródło
Oto lista niektórych stosunkowo głośnych rzeczy zbudowanych w Django:
Aplikacja The Guardian „ Zbadaj wydatki swojego MP ”
Politifact.com (tutaj jest post na blogu mówiący o (pozytywnych) doświadczeniach. Strona wygrała Pulitzera.
Reprezentuje aplikację NY Times
EveryBlock
Peter Harkins, jeden z programistów w WaPo, wymienia na swoim blogu wszystkie rzeczy, które stworzyli z Django
Jest trochę stary, ale ktoś z LA Times przedstawił podstawowy przegląd tego, dlaczego poszedł z Django.
Klub AV cebuli został niedawno przeniesiony z (chyba Drupala) do Django.
Wyobrażam sobie, że pewna liczba tych witryn prawdopodobnie osiąga ponad 100 000 wyświetleń dziennie. Django z pewnością może wykonać 100 000 odsłon dziennie i więcej. Ale YMMV zapewnia dostęp do konkretnej witryny w zależności od tego, co budujesz.
Istnieją opcje buforowania na poziomie Django (na przykład buforowanie zestawów zapytań i widoków w memcached może zdziałać cuda) i poza nimi (buforowanie takie jak Squid ). Istotnym czynnikiem będą również specyfikacje serwera bazy danych (i zwykle miejsce, w którym można się wyszaleć), podobnie jak jego dostrojenie. Nie zakładaj na przykład, że Django odpowiednio skonfiguruje indeksy. Nie zakładaj, że domyślna konfiguracja PostgreSQL lub MySQL jest właściwa.
Ponadto zawsze masz opcję posiadania wielu serwerów aplikacji z uruchomionym Django, jeśli jest to powolny punkt, z oprogramowaniem lub sprzętowym modułem równoważącym obciążenie z przodu.
Na koniec, czy udostępniasz treści statyczne na tym samym serwerze, co Django? Czy używasz Apache lub czegoś takiego jak nginx lub lighttpd ? Czy możesz sobie pozwolić na użycie CDN dla treści statycznych? To są rzeczy do przemyślenia, ale wszystko to jest bardzo spekulacyjne. 100 000 odsłon / dzień nie jest jedyną zmienną: ile chcesz wydać? Jak dużą wiedzę masz w zarządzaniu wszystkimi tymi komponentami? Ile masz czasu, aby zebrać to wszystko razem?
źródło
Zwolennik programisty YouTube wygłosił przemówienie na temat skalowania Pythona na PyCon 2012 , co ma również znaczenie w przypadku skalowania Django.
YouTube ma ponad miliard użytkowników , a YouTube jest oparty na Pythonie.
źródło
Używam Django od ponad roku i jestem pod wielkim wrażeniem tego, jak udaje mu się połączyć modułowość, skalowalność i szybkość rozwoju. Podobnie jak w przypadku każdej technologii, ma krzywą uczenia się. Jednak ta krzywa uczenia się jest o wiele mniej stroma dzięki doskonałej dokumentacji społeczności Django. Django był w stanie poradzić sobie ze wszystkim, co na niego rzuciłem. Wygląda na to, że będzie w stanie dobrze skalować się w przyszłości.
BidRodeo Penny Auctions to strona internetowa o średniej wielkości zasilana przez Django. Jest to bardzo dynamiczna strona internetowa, która obsługuje dużą liczbę odsłon dziennie.
źródło
Pamiętaj, że jeśli oczekujesz 100 000 użytkowników dziennie, którzy są aktywni przez wiele godzin na raz (co oznacza maksymalnie 20 000 jednoczesnych użytkowników), będziesz potrzebować DUŻO serwerów. SO ma ~ 15 000 zarejestrowanych użytkowników, a większość z nich prawdopodobnie nie jest aktywna codziennie. Chociaż większość ruchu pochodzi od niezarejestrowanych użytkowników, zgaduję, że bardzo niewielu z nich pozostaje w witrynie dłużej niż kilka minut (tzn. Śledzą wyniki wyszukiwania Google, a następnie wychodzą).
W przypadku tego woluminu spodziewaj się co najmniej 30 serwerów ... co wciąż stanowi dość ciężką liczbę 1000 równoczesnych użytkowników na serwer.
źródło
Jaka jest „największa” strona zbudowana dzisiaj na Django? (Mierzę rozmiar głównie według ruchu użytkowników) Pinterest
disqus.com
Więcej tutaj: https://www.shuup.com/en/blog/25-of-the-most-popular-python-and-django-websites/
Czy Django może poradzić sobie ze 100 000 użytkowników dziennie, z których każdy odwiedza witrynę przez kilka godzin?
Tak, ale używaj odpowiedniej architektury, projektu bazy danych, pamięci podręcznej, równoważenia obciążenia i wielu serwerów lub węzłów
Czy witryna taka jak Przepełnienie stosu może działać na Django?
Tak, wystarczy postępować zgodnie z odpowiedzią wymienioną w drugim pytaniu
źródło
Innym przykładem jest rasp.yandex.ru, rosyjska usługa rozkładów jazdy transportu. Jego obecność spełnia twoje wymagania.
źródło
Jeśli masz witrynę z pewną zawartością statyczną, to nałóż lakier serwera z przodu znacznie zwiększy Twoją wydajność. Nawet pojedyncze urządzenie może wtedy z łatwością wypluć 100 Mbit / s ruchu.
Zauważ, że przy zawartości dynamicznej używanie czegoś takiego jak Lakier staje się znacznie trudniejsze.
źródło
Moje doświadczenie z Django jest minimalne, ale pamiętam, że w książce Django mają rozdział, w którym przeprowadzają wywiady z osobami korzystającymi z większych aplikacji Django. Oto link. Wydaje mi się, że to może zapewnić pewne spostrzeżenia.
Mówi, że curse.com jest jedną z największych aplikacji Django z około 60-90 milionami odsłon w ciągu miesiąca.
źródło
Zajmuję się tworzeniem witryn o dużym natężeniu ruchu przy użyciu Django dla krajowego nadawcy w Irlandii. Działa dla nas dobrze. Opracowanie strony o wysokiej wydajności to coś więcej niż tylko wybór frameworka. Framework będzie tylko jedną częścią systemu, który jest tak silny, jak jego najsłabsze ogniwo. Korzystanie z najnowszego frameworka „X” nie rozwiąże problemów z wydajnością, jeśli problemem są powolne zapytania do bazy danych lub źle skonfigurowany serwer lub sieć.
źródło
Mimo, że pojawiło się tu wiele świetnych odpowiedzi, chciałbym tylko wskazać, że nikt nie kładł nacisk na ...
To zależy od zastosowania
Jeśli twoja aplikacja jest łatwa w zapisie, ponieważ w trakcie czytania dużo więcej danych z bazy danych niż piszesz. Zatem skalowanie django powinno być dość trywialne, do diabła, ma dość przyzwoite buforowanie danych wyjściowych / widoków od razu po wyjęciu z pudełka. Skorzystaj z tego i powiedzmy, redis jako dostawca pamięci podręcznej, umieść przed nim moduł równoważenia obciążenia, podkręć n-instancji i powinieneś być w stanie poradzić sobie z BARDZO dużą ilością ruchu.
Teraz, jeśli musisz zrobić tysiące skomplikowanych zapisów na sekundę? Inna historia. Czy Django będzie złym wyborem? Cóż, niekoniecznie, zależy to od tego, jak naprawdę zbudujesz swoje rozwiązanie, a także jakie są twoje wymagania.
Tylko moje dwa centy :-)
źródło
Zdecydowanie możesz uruchomić witrynę o dużym ruchu w Django. Sprawdź ten wcześniejszy niż Django 1.0, ale nadal aktualny post tutaj: http://menendez.com/blog/launching-high-performance-django-site/
źródło
Sprawdź ten agregator wiadomości mikro o nazwie EveryBlock .
Jest w całości napisany w języku Django. W rzeczywistości są to ludzie, którzy opracowali sam framework Django.
źródło
Problemem jest nie wiedzieć, czy django można skalować, czy nie.
Właściwy sposób to zrozumienie i wiedzieć, jakie są wzorce projektowania sieci i narzędzia, które należy poddać projektowi django / symfony / rails, aby dobrze skalować.
Niektóre pomysły mogą być:
Mam nadzieję, że to trochę pomoże. To moja maleńka skała do góry.
źródło
Jeśli chcesz skorzystać z Open source, istnieje wiele opcji dla Ciebie. Ale Python jest najlepszy wśród nich, ponieważ ma wiele bibliotek i super niesamowitą społeczność. Oto kilka powodów, które mogą zmienić zdanie:
Python jest bardzo dobry, ale jest to język interpretowany, który spowalnia go. Ale istnieje wiele usług przyspieszających i buforujących, które częściowo rozwiązują ten problem.
Jeśli myślisz o szybkim rozwoju, Ruby on Rails jest najlepszy ze wszystkich. Głównym mottem tego frameworka (ROR) jest zapewnienie programistom komfortowego doświadczenia. Jeśli porównasz Ruby i Python, oba mają prawie taką samą składnię.
Google App Engine to bardzo dobra usługa, ale wiąże cię w swoim zasięgu, nie masz szansy na eksperymentowanie z nowymi rzeczami. Zamiast tego możesz użyć chmury Digital Ocean, która za najprostszą kroplę pobierze tylko 5 USD miesięcznie . Heroku to kolejna darmowa usługa, w której możesz wdrożyć swój produkt.
Tak! Tak! To, co słyszałeś, jest całkowicie poprawne, ale oto kilka przykładów, które wykorzystują inne technologie
Wniosek jest strukturą lub językiem nie zrobi wszystkiego dla Ciebie. Lepsza architektura, projektowanie i strategia zapewnią skalowalną stronę internetową. Instagram jest największym przykładem, ten niewielki zespół zarządza tak ogromnymi danymi. Oto jeden blog o swojej architekturze musi go przeczytać.
źródło
Nie sądzę, że problem dotyczy skalowania Django.
Naprawdę sugeruję przyjrzeć się swojej architekturze, która pomoże ci w twoich potrzebach skalowania. Jeśli pomylisz się, nie ma sensu, jak dobrze Django działa. Wydajność! = Skala. Możesz mieć system, który ma niesamowitą wydajność, ale nie skaluje się i odwrotnie.
Czy twoja baza danych aplikacji jest powiązana? Jeśli tak, to i tam leżą problemy z wagą. Jak planujesz interakcję z bazą danych z Django? Co dzieje się, gdy baza danych nie może przetwarzać żądań tak szybko, jak Django je przyjmuje? Co się stanie, gdy Twoje dane wyrosną z jednej fizycznej maszyny. Musisz uwzględnić sposób, w jaki planujesz poradzić sobie z tymi okolicznościami.
Co ponadto dzieje się, gdy Twój ruch przerasta jeden serwer aplikacji? sposób, w jaki radzisz sobie z sesjami w tym przypadku, może być trudny, częściej nie wymagałoby to architektury współdzielonej niczego. To zależy od twojej aplikacji.
W krótkich językach nie decyduje o skali, język jest odpowiedzialny za wydajność (ponownie, w zależności od aplikacji, różne języki działają inaczej). To twój projekt i architektura sprawiają, że skalowanie staje się rzeczywistością.
Mam nadzieję, że to pomoże, chętnie pomogę, jeśli masz pytania.
źródło
Równomierne rozłożenie zadań, w skrócie optymalizacja każdego aspektu, w tym baz danych, plików, obrazów, CSS itp. Oraz zrównoważenie obciążenia kilkoma innymi zasobami jest konieczne, gdy witryna / aplikacja zacznie się rozwijać. LUB pozostawiasz więcej miejsca na jego rozwój. Wdrażanie najnowszych technologii, takich jak CDN, Cloud, jest koniecznością w przypadku dużych witryn. Samo rozwijanie i ulepszanie aplikacji nie zapewni Ci stuprocentowej satysfakcji, inne elementy również odgrywają ważną rolę.
źródło