Datei lokal holen, falls vorhanden?
Gerals
- html
0 Cybaer
Hallo Community,
um bei uns ein wenig sparsamer mit der DSL Leitung umzugehen, ist mir ein Gedanke gekommen, bei dem ich Rat brauche. Vielen Dank schonmal im Vorfeld für jeden konstruktiven Tipp.
Unser Büro arbeitet intensiv über eine Website zusammen, deren Server in einem Rechenzentrum steht. Es werden besonders viele große Daten um 5-8 MB heruntergeladen. Diese Daten wurden von Kunden dort hochgeladen.
Nun haben wir auch einen Backup Server, der sich nachts alle Online Daten auf die Platte schaufelt. Dieser steht hier bei uns lokal im Büro.
Nun hätte ich gerne folgendes Szenario: Wenn eine Datei angefordert wird, soll zuerst geschaut werden, ob sie lokal auf dem Backup Server liegt. Ist das so, soll die Datei von dort über das Netzwerk geholt werden. Ist das nicht so (kommt vor, wenn Daten seit dem letzten Backup hinzugekommen sind), dann sollen sie über den Server im Internet bezogen werden.
Das Problem wird nun sein, dass auf jedem Client mit jeder Anfrage entschieden werden muss, ob er im Netzwerk ist oder nicht. Wenn ich einfach nur eine Anfrage auf "gut Glück" sende an den Backup Server in der Art von "http://192.168.0.55/files/2008/sxgkrs.pdf", dann wird hier sicherlich der Timeout sehr hoch sein, wenn man nicht im Netzwerk ist. Auch ist dann "Plan B" noch nicht ausgeführt, nämlich die Daten online zu holen.
Hat jemand eine Idee, wie sich sowas am sinnvollsten bewerkstelligen lässt?
Viele Grüße und einen schönen Start in die Woche wünscht,
ger
Hi,
Hat jemand eine Idee, wie sich sowas am sinnvollsten bewerkstelligen lässt?
Was sicher geht: Nach dem Backup eine Liste der Dateien anfertigen, alle Seiten durch ein Serverscript jagen (mod_rewrite) und vor Auslieferung referenzierte Resourcen mit der Dateiliste abgleichen und ggf. den URL on-the-fyl ändern.
Was auch gehen müßte: Die Anfragen *alle* über einen lokalen Apache-Webserver laufen lassen. Via RewriteRules die Daten ausliefern, die real existieren, den Rest von außen holen (mod_rewrite oder auch vom Apache als Proxy via mod_proxy).
Gruß, Cybaer