Welche technischen Überlegungen muss ein System / Netzwerk-Administrator befürchten, wenn eine Website wird auf Social Bookmarking / Sharing-Site?

StackOverflow https://stackoverflow.com/questions/62403

  •  09-06-2019
  •  | 
  •  

Frage

Der Grund, warum ich frage ist, dass Stack-Überlauf slashdotted und Redditted .

Erstens, welche Arten von Auswirkungen hat dies auf den Servern, die eine Website betreiben? Zweitens, was durch Systemadministratoren kann getan werden, um sicherzustellen, dass ihre Websites bleiben und läuft so gut wie möglich?

War es hilfreich?

Lösung

Leider, wenn Sie nicht dafür geplant haben, bevor es geschieht, ist es wahrscheinlich zu spät und Ihre Benutzer eine schlechte Erfahrung.

Die Skalierbarkeit ist Ihre erste unmittelbare Sorge. Sie können beginnen, mehr Treffer pro Sekunde bekommen, als Sie pro Monat erhalten wurden. Ihre erste Linie der Verteidigung ist gut Programmierung und Design. Stellen Sie sicher, dass Sie nicht etwas zu tun dumm wie Daten aus einer Datenbank mehrmals pro Anfrage Nachladen, anstatt es zu Caching. Bevor der Spitze geschieht, müssen Sie einige ziemlich realistische Belastungstests tun, um zu sehen, wo die Engpässe sind.

Für unsinnig hohe Traffic, sollten Sie die Möglichkeit, einige dynamischen Seiten über statische Seiten zu wechseln.

Mit einer Server-Architektur, die auch hilft, skaliert werden kann. Gemeinsam genutzte Hosts im Allgemeinen nicht skalieren. Eine einzige dedizierte Maschine in der Regel nicht skaliert werden. Mit so etwas wie EC2 von Amazon kann helfen, hosten, vor allem, wenn Sie für einen Cluster von Servern von Anfang an planen (auch wenn der Cluster ein einzelner Computer ist).

Sie sind nächste große Sorge Sicherheit. Du bist plötzlich ein viel größeres Ziel für die bösen Jungs. Stellen Sie sicher, dass Sie einen guten Sicherheitsplan an der richtigen Stelle. Dies ist etwas, das man immer haben soll, aber es wichtiger worden mit hohem Verbrauch.

Andere Tipps

Zum einen fragen, ob Sie wirklich Wochen und Tausende von $ für etwas zu planen verbringen möchten, die nicht einmal passieren könnte, und wenn es passiert, dauert ca. 5 Stunden.

Die einfachste Lösung ist eine gute Möglichkeit zu haben, um eine Seite einfach so dass eine Anmeldung zu wechseln. Die Menschen werden sich anmelden und Sie können sie per E-Mail, wenn der Sturm vorbei ist.

Komplexere Lösungen stützen sich auf in der Lage, schnell zu skalieren. Das ist zunächst ein Software-Problem (können Sie zu einem DB auf einem anderen Server verbinden, können Sie Load-Balancing zu tun). Zweitens braucht Ihre Hosting-Lösung schnelle Expansion zu unterstützen. Amazon EC2 in den Sinn kommt, oder vielleicht Slicehost. Bei beiden Diensten können Sie ganz einfach neue Instanzen starten ( „Lassen Sie uns die Datenbank auf einen anderen Server verschieben“), und erweitern Sie Ihre Instanzen ( „Lassen Sie uns die DB-Server zu 4 GB RAM Upgrade“).

Wenn Sie alle Daten in der DB halten (einschließlich Sitzungen), können Sie einfach mehrere Front-End-Server haben. Für die Datenbank würde ich versuchen, in der Regel einen einzelnen Server mit den höchsten Ressourcen zur Verfügung, aber nur, weil ich nicht mit db-Replikation und es verwendet zu werden ziemlich schwer zu tun, zumindest mit MySQL gearbeitet. Einige Dinge könnten verbessert haben.

Die App Designer muss über die Aufstockung (größere Maschinen mit mehr Kernen und höhere Leistung) und / oder horizontale Skalierung (Verteilung von Arbeitslast auf mehrere Systeme) denken. Der IT-Mann muss um herauszufinden, wie man am besten, dass unterstützen. Das Netzwerk ist das, was man auf den ersten Blick, denn offensichtlich alles auf ihm reitet. Beginnend an der Grenze bedeutet, dass in der Regel Netzwerk Loadbalancer und redundante Router von mehreren Anbietern bedient werden. Sie können an geografischen Caching-Services und Anwendungen sehen auch wie cachefly.

Sie möchten Ihre Engpässe so weit wie möglich zu reduzieren. Sie wollen auch die Umwelt so gestalten, dass es ohne viel Arbeit nach Bedarf skaliert werden kann. Haben die Gestaltung der Arbeit nach vorne und es wird weniger Kopfschmerzen bedeuten, wenn Sie dugg tun bekommen.

Einige Ideen (von dem, was ich in der Vergangenheit und aktuelle Projekte): Für Leistungssteigerung (falls erforderlich) können Sie einen Reverse-Proxy, Caching Tintenfisch vor Ihrer Seite ein. Natürlich ist das nur, wenn Sie funktioniert nicht Sitzungsschlüssel haben und wenn die Seiten etwas statisch sind (bedeutet: sie wechseln nur einmal eine Stunde oder so) und nicht personalisiert. Mit dem Tintenfisch können Sie ein aufgeblähte steigern und CMS wie typo3 verlangsamen, damit die Leistung von statischen Webseiten mit dem Komfort eines CMS.

Sie können große Dateien auf externe Dienste wie Amazon S3 auslagern, die Bandbreite Ihres Servers zu speichern.

Und wenn Sie in der Lage sind, einige (drei Zahlen pro Monat) Dollar zu verbringen, können Sie auch ein Content Delivery Network nutzen. Whith, dass anstelle automatisch Skalierung, Hochverfügbarkeit und niedrige latencys für die Benutzer haben. Natürlich müssen Sie Ihre Seiten cachable sein, so Sitzungsschlüssel und personalisierte Seiten sind ein No-No. Wenn sorgfältig und mit CDNs im Auge, können Sie zumindest einige Inhalte zwischenzuspeichern, wie Fotos und Videos und statische Sachen.

Die Last nach oben geht, wie andere Antworten erwähnt haben.

Sie finden auch einen Zustrom neuer Nutzer / Blog-Kommentare / Stimmen aus gebohrten Leuten bekommen, die nur wirklich in Vandalismus interessiert sind. Dies ist vor allem ein Problem für Blogs, die völlig anonym kommentieren lassen, wo einige schrecklichen Sachen eingegeben werden. Die Blog-Plattform könnte Spam-Filter haben ausreichend um ihn zu blockieren, aber manuelle Eingriffe häufig verbleibenden Gefasel aufzuräumen erforderlich.

Auch ein wenig Hindernis für den Zugang, einen Benutzername oder E-Mail-Adresse wie erforderlich, auch wenn keine Überprüfung durchgeführt wird, wird das Volumen des Vandalismus dramatisch reduzieren.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top