Was sind die Best Practices zum Spiegeln einer Web-App?

Was sind die Best Practices zum Spiegeln einer Web-App?

Ich verwende einen dedizierten Server, der Linux-Maschinen virtualisiert. Das Rechenzentrum befindet sich in Europa.

Alle virtuellen Maschinen sind Linux-Server, einer ist das Apache-Frontend, während ein anderer eine MySQL-Datenbank ist.

Jetzt muss ich diesen Server in den USA und Asien spiegeln, um die Geschwindigkeit zu verbessern und SEO zu ermöglichen.

Ich dachte an rsync, aber ich möchte wissen, was die Best Practices sind, um alle Maschinen auf dem neuesten Stand zu halten und dabei die Datenintegrität zu wahren.

Wie lösen große Unternehmen das Problem?

Bearbeiten (App-Details): Die App ist ein SaaS mit benutzergenerierten Inhalten, sodass Benutzer die Datenbank und das Dateisystem ständig ändern. Nehmen wir an, es ist etwas Ähnliches wie Google Docs. Es ist nicht möglich, alles zwischenzuspeichern und statische Klone bereitzustellen.

Antwort1

So wie Sie Ihre Anwendung beschreiben, befürchte ich, dass es nicht sehr einfach sein wird, sie zu „spiegeln“. Insbesondere, wenn die Daten in Echtzeit geändert werden müssen (wie bei GDocs).

Ich fürchte, MySQL ist keine besonders gute Datenbank für eine solche Bereitstellung. Das Dateisystem ist ein weiteres Problem.

Das Beste, was Sie langfristig tun können, ist wahrscheinlich, das Ganze neu zu gestalten, um bessere Werkzeuge für die Arbeit zu verwenden. Und ich würde Ihnen dringend empfehlen, jemanden zu beauftragen, der Erfahrung mit solcher Software hat und Sie darin beraten kann.

Sie können das CDN verwenden. Bei CDNs geht es nicht darum, statische Inhalte überall bereitzustellen. Sie fungieren normalerweise eher als Caching-Proxy für Ihre Server.

Wenn das Zwischenspeichern Ihrer Anwendungsanforderungen auf HTTP-Ebene zu schwierig ist, können Sie Ihren eigenen Caching-Server/eigene Caching-Mechanismen schreiben, die die Funktionsweise Ihrer App verstehen.

verwandte Informationen