Laut der folgenden Stack Overflow-Frage: Does Django scale? Django eignet sich hervorragend für ein Web-Anwendungen, die Tausende von Benutzern pro Tag/Monat erwartet, aber um dies zu erreichen, müssen Sie die haben richtiges Design.Wie man eine Django-Site so umgestaltet, dass sie skalieren kann
Jetzt ist mein Szenario wie folgt:
Ich habe gerade ein Startup als Tech-Blei/Blei-Entwickler verbunden, und während ich 3 Jahre Erfahrung mit Django habe, habe ich es nie benutzen für so großen Maßstab App Die neueste große App, an der ich beteiligt war, verwendete Zope und verließ sich auf SQL Server, um das Caching usw. zu erledigen (meiner Meinung nach eine schreckliche Praktik). Angesichts der Tatsache, dass dieses Startup jetzt nur noch etwa 20.000 Benutzer hat, nachdem es bereits 6 Monate existiert hat, und da sie gleichzeitig einen Marketing-Spezialisten eingestellt haben, kann ich eine Wachstumschance erwarten (oder zumindest hoffen) . Ein großer Teil des bestehenden Django-Codes muss refactoring werden; dh mit statischen HTML-Formular anstelle von ModelForm, usw.
Meine Frage ist: wie ich diese App umgestalten, was sind die Entwurfsmuster, die ich befolgen sollte, um es richtig zu machen, so dass wir 100.000 bis 500.000 Benutzer sagen können pro Monat? Was sind einige Gottchas, auf die ich achten sollte? Was wird im Hinblick auf das Modelldesign als skalierbares Modelldesign angesehen? In Bezug auf DB-Unterstützung, welche Art von DB-Setup kann mir helfen, diese Skalierbarkeit zu erreichen? Welche Architektur eignet sich für den Load Balancing?
Ich nehme an, mit Django out of the box, werde dies nicht erreichen, und ich möchte mich nicht in einer Situation finden, in der ich fragen muss, einen Skalierbarkeitsexperten einzustellen ... Ich würde auch gerne wissen Was sind einige Lasttesttechniken/Tools, mit denen ich die aktuelle Leistung/Skalierbarkeit messen kann? Ich war nur ein paar Tage bei ihnen, also bin ich mir der Produktumgebung noch nicht sicher, also wenn ich das Gefühl hätte, dass ich das Produkt ändern müsste, was sind gute Optionen (Cloud-Lösungen), dass sind angemessen und doch bezahlbar?
Edit: Sie scheinen auch Ajax für alles zu verwenden und das hat mich beunruhigt. Angenommen, ich kann sie nicht davon überzeugen, das zu ändern, was sind einige gute Bibliotheken für Ajax-Techniken (ich kenne django-dajax/dajaxice), die verwendet werden können und immer noch skalierbar sind.
Dank,
Sam
Ich fand diese Folie http://www.slideshare.net/mmalone/scaling-django-1393282 die hilfreich sind. Kann jemand seine Erfahrung mit einem Szenario teilen? Auch wenn jemand das Video der Dias fidden könnte, wäre ich sehr dankbar ... –
Nur meine 2 Cent, ich habe das kürzlich von einem Django - Talk gehört ... "geh nicht weiter, finde den Engpass und finde den Dies ist die günstigste und einfachste Lösung, da sich Ihre Spezifikationen im Laufe der Zeit ändern und Sie in der Zwischenzeit unter Skalierungsproblemen leiden. Sie können die gesamte Site nicht anhalten, um alle Änderungen vorzunehmen. Sie haben Priorität. Finden Sie Ihren Engpass Die andere Sache ist es, die Verwendung von 3rd-Party-Apps so weit wie möglich zu vermeiden, es sei denn, die Apps sind wirklich seriös und Sie sind bereit, Entwicklerstunden zu investieren, da das Projekt tot sein kann. Keine Garantie. – CppLearner