Halten Sie die Hochgeladenen Dateien in den Sync Über Mehrere Server - PHP-Linux
Habe ich eine website richtige nun, dass derzeit nutzen 2 Server, ein Anwendungsserver und eine Datenbank-server, jedoch ist die Belastung auf den application-server nimmt, so werden wir eine zweite Anwendung-server.
Das problem, das ich habe, ist, dass der website-Benutzer Dateien auf den server hochzuladen. Wie bekomme ich die hochgeladenen Dateien auf beiden Servern?
Will ich nicht, um Bilder zu speichern, die direkt in eine Datenbank wie unsere Anwendung ist Datenbank-intensive bereits.
Gibt es eine Möglichkeit zum synchronisieren der Server über jedes andere oder ist es etwas anderes was ich tun kann?
Jede mögliche Hilfe würde geschätzt.
Dank
EDIT: ich füge die folgenden links für Leute, die mir geholfen, zu verstehen, diese Frage mehr:
Synchronisieren von Dateien auf Mehreren Servern
und
Halten Sie die Hochgeladenen Dateien in den Sync Über Mehrere Server - LAMPE
Für alle dies Lesen post NFS scheint es besser zu sein, der 2.
NFS halten, Dateien synchronisieren, aber Sie können auch die ftp-upload die Dateien auf allen Servern als gut, aber NFS sieht aus wie der Weg zu gehen.
- Ich bin nicht schlappmachen Beitrag, wie ich bin mir nicht sicher, aber vielleicht könnten Sie ein besseres Glück auf serverfault.com. Ich denke, das passt besser, obwohl eine 'Programmierung' Lösung möglich sein könnte.
- Ich werde Sie bitten, es ebenso und wenn ich eine Antwort werde ich hier posten für diejenigen, die es brauchen
- Hier ist der link zu dem serverfault Frage. Sie haben einige anständige Antwort gibt, als auch
- Siehe auch stackoverflow.com/questions/730528/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist eine Frage für serverfault.
Ja, ich denke, Sie sollten auf jeden Fall erwägen, in der "cloud".
Die Synchronisation uploads von einem server zu einem anderen ist einfach unzuverlässig - Sie haben keine Ahnung, welche Art von Fehler, die Sie bekommen können und warum Sie Sie bekommen können. Auch die Synchronisation geladen werden beide Server. Für mich, die richtige Lösung wird in der cloud.
Sollten Sie sich für das synchronisieren der Methode, die Sie haben ein paar Lösungen:
rsync
zum synchronisieren der Dateien benötigen Sie den zwischen den Servern.crontab
synchronisieren die Dateien alle X Minuten/Stunden/Tage.Bekam ich diese Antwort vom server Fehler:
Die am besten geeignete Vorgehensweise in einer situation wie dieser zu brechen, die Datei zu teilen in eine separate service-seiner eigenen. Nicht duplizierte Dateien, wenn Sie ein Netzwerk haben, die wir in den Dateien "überall (fast) gleich." Sie können dies über NFS/CIFS oder durch eine geeignete storage-Protokolle wie iSCSI. Montieren Sie als lokalen Speicher in das entsprechende Verzeichnis. Je nach der Netzwerkleistung und der storage-Bedarf, dies könnte hinzufügen, ein paar nicht nachweisbar Millisekunden, um die Ladezeit der Seite.
Also mit NFS Freigabe server-Dateien arbeiten würde, ODER
wie bereits von @kgb könnte man die Angabe von einem einzelnen server zu halten, werden alle hochgeladenen Dateien und auch auf anderen Servern ziehen aus, dass (nur stellen Sie sicher, dass Sie einen cron oder etwas zum sichern der Datei)
Meisten Websites, die dieses problem lösen, indem mit einem 3rd-party benannten Datei-server wie Amazon S3 für die user-uploads.
Andere Antwort könnte sein, verwenden Sie eine Stück software namens BTSync, es ist sehr einfach zu installieren und zu verwenden, und könnte es Ihnen auf einfache Weise Ihre Dateien synchron auf so viele Server wie Sie brauchen. Es dauert nur 3 terminal-Befehle installieren und ist sehr effizient.
Werfen Sie einen Blick hier
und hier
Können Sie db-server für die Lagerung... Nicht in der db, die ich meine, ist ein web-server läuft auch dort. Es ist nicht zu Steigerung der cpu-Last viel, aber wird erfordern einen besseren Kanal.
könnte man es machen mit rsync.. Leute haben vorgeschlagen, die Verwendung von nfs.. aber so erstellen Sie eine point-of-failure... wenn der nfs-server geht down.. beide Ihre Server geschraubt... korrigieren Sie mich, wenn im falschen