Es gibt zwei allgemeine Strategien für den Umgang mit Verkehrsstößen: Kapazitätserhöhung und Kostensenkung.
Eine Erhöhung der Kapazität bedeutet eine automatische Skalierung, über die sich alle sehr gefreut haben, als die ersten öffentlichen Clouds verfügbar wurden. Im einfachsten Sinne werden dadurch mehr Webserver basierend auf der Last für Sie gestartet und einem Load Balancer hinzugefügt. Da die Verwaltung jedoch schwierig sein kann, gibt es auch automatischere Lösungen wie Elastic Beanstalk.
Das Problem bei der automatisierten Kapazitätserweiterung besteht darin, dass auch die Rechnungserweiterung automatisiert wird - 10x normaler Datenverkehr bedeutet 10x Server bedeutet 10x Geld, das Sie bezahlen müssen. Das ist der Grund, warum Sie, obwohl es eine nützliche Strategie ist, immer daran denken sollten, wie viel Sie betrügen können.
Mit Cheat meine ich Cache, der auf der Idee beruht, dass Sie Benutzern die meiste Zeit leicht veraltete Daten geben können und sie es nicht bemerken, und das kann Ihnen enorm viel Zeit sparen. Stellen Sie sich vor, Sie haben eine Seite, auf der Sie entscheiden, dass sie in Ordnung ist, wenn sie fünf Sekunden veraltet ist, und sie erhält 20 Anforderungen / s. Ohne Caching führen Sie diese Berechnung 1200 Mal pro Minute aus, während sie beim Caching nur 12 beträgt. Sie können sehen, wie dies einen enormen Unterschied bewirken kann.
Es gibt natürlich viele Arten von Caching, und eine erfolgreiche Website wird mehrere davon verwenden. Für Ihren Anwendungsfall gibt es jedoch zwei ziemlich gute und einfache Optionen.
Die erste besteht darin, die Site vollständig statisch zu machen. Dies setzt voraus, dass Sie dies tun können, aber wenn Sie können, dann muss Nginx das HTML direkt bereitstellen, und es kann Tonnen von Anfragen ohne Schweiß bedienen .
Wenn Sie ein gewisses Maß an Dynamik benötigen, ist das Zwischenspeichern von ganzen Seiten eine gute Option. Nginx hat einige Möglichkeiten, dies zu tun, aber ich mag Lack wegen seiner Flexibilität wirklich.
Unabhängig davon, für welche Option oder Optionen Sie sich entscheiden, stellen Sie sicher, dass Sie Lasttests durchführen, um zu überprüfen, ob Sie sie ordnungsgemäß eingerichtet haben. Manchmal führt das Fixieren eines Punktes zu einem neuen Engpass.