Frage

Also, um die Ladezeiten zu beschleunigen, wir Einstellung eine Reihe von CDN Host-Namen bis zu Bildern und Vermögenswerte dienen aus. Was ist der beste Weg, um den gleichen Host für den gleichen Vermögenswert konsequent nutzen? Z.B. button.gif wird immer serviert von http://assets-15.ourserver.com .

Ich dachte an kommen mit einer gewissen Regel, wo die MD5-Hash des Dateinamens irgendwie einen Server zuordnet (können den Dateinamen selbst nicht verwenden, da viele ähnlich sind: „Knopf-home.gif“, „Taste -about.gif“, etc.). Ich bin mir nicht sicher, ob dies der effizienteste Weg ist, aber es scheint, wie es funktionieren würde.

Wer noch keine Erfahrung mit dieser Art der Sache? Ich brauche eine sprachunabhängig Lösung, da dies durch mehrere verschiedene Sprachen verwendet werden.

EDIT: Yahoos Erklärung, wie diese Geschwindigkeiten Dinge: http://developer.yahoo.com/performance/rules.html#split

War es hilfreich?

Lösung

Wenn ich so etwas wie dies tat, alle relevanten Ressourcen ohnehin ID-Nummern hatten, so habe ich nur, dass als Grundlage. Dennoch ist es nicht allzu schwer zu nicht-Zahlen zu verlängern.

Es gibt ein Gleichgewicht in wie viele Host-Namen Sie verwenden, mit zu vielen der Host-Lookup-Overhead trumpft die Vorteile von mehreren Host-Namen, also an der Außenseite Sie wahrscheinlich etwa 12 haben werden, wahrscheinlich weniger.

Das ist an sich bedeutet, dass eine einfache Hash wahrscheinlich über den angegebenen Bereich aufgeteilt wird leicht genug, ohne dass besonders klug sein.

Es gibt einen Mangel an kodieren Probleme Verwirrung, weil entweder die Anwendung befasst sich mit iuris vollständig (in diesem Fall utf-8 Handhabung ist bereits ein Problem, das Sie behandelt haben) oder es funktioniert nicht, in welchem ??Fall jedes Zeichen in der URI-escaped Form des Pfades (das heißt, der Name in der eigentlichen URI) im ASCII-Bereich sein wird.

Es gibt keine Notwendigkeit, durch kryptografisch gesichert oder so etwas, wie es kein Sicherheitsrisiko verwendet, um den Server zu erraten. Es wird nicht das Ende der Welt sein, wenn eine oder zwei Seiten leicht auf einen Server über eine andere anlehnen (Zufälligkeit würde das passieren mit einem perfekten hat sowieso).

Daher nur durch die Zeichen in den absoluten Pfad des URI für das Bild (alles nach dem Host aus dem ersten / ab) läuft sie ihren ganzzahligen Wert miteinander Hinzufügen und führen Sie dann verwenden, um die Modulo dieses Teils des Hostnamens .

Wenn Sie die Anzahl der Zeichen für Geschwindigkeitsprobleme verarbeitet begrenzen wollen, tun Sie es dann von dem Ende nach hinten, so dass die größten Veränderung hat.

Der „Taste-home.gif“ ähnelt „Knopf-about.gif“ ist kein Problem, da sie nicht wirklich sehr ähnlich überhaupt so wie dies durch die Augen eines Prozesses gesehen.

Wenn Sie jemals die Anzahl der Host-Namen verwendet erhöhen, versuchen Sie es als ein Vielfaches der bisherigen Zahl zu tun, da es dadurch zu einer möglichst großen Anzahl von Ressourcen, um ihre alten URIs zu halten.

Andere Tipps

Der Punkt eines Content Delivery Network (CDN) ist das Asset Form der Server der Nähe des Benutzers zu laden.

einen bestimmten Vermögenswert von einem expliziten Server Laden Niederlagen den Zweck des CDN. Meine Vermutung ist, dass es nicht unterstützt wird. Wenn Sie ein Asset aus einem expliziten Speicherort laden müssen, tun Sie es nicht auf dem CDN setzen, legt es auf einem zentralen Server.

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