Media tartalom fallback
Helló!
Egy olyan rendszert szeretnék építeni ahol média tartalmak több verzióval rendelkezhetnek.
Amikor a kérés beérkezik a szerverhez (mondjuk http://valami.hu/ver1/kep1.png) akkor az adott fájl nem feltétlenül létezik a megadott útvonalon.
Van viszont két további mappa ver2 és ver3, amikben létezhet egy kep1.png nevű fájl és szeretném ezek közül kiszolgálni képet.
Lehetséges-e ilyen logikát építeni? Mivel lenne érdemes próbálkozni?
Előre is köszi!
■ Egy olyan rendszert szeretnék építeni ahol média tartalmak több verzióval rendelkezhetnek.
Amikor a kérés beérkezik a szerverhez (mondjuk http://valami.hu/ver1/kep1.png) akkor az adott fájl nem feltétlenül létezik a megadott útvonalon.
Van viszont két további mappa ver2 és ver3, amikben létezhet egy kep1.png nevű fájl és szeretném ezek közül kiszolgálni képet.
Lehetséges-e ilyen logikát építeni? Mivel lenne érdemes próbálkozni?
Előre is köszi!
Benned milyen ötletek
Lehetséges
Mivel nem vagyok birtokában a
Ami miatt ez a megoldás kérdéses, hogy kellene valamiféle cache-t is csinálni, ne kelljen mindig ellenőrizni a fájlok meglétét. Illetve ha ez a cache könnyen újragenerálható/adminisztrálható lenne az sem lenne baj.
Továbbá a fallback nem mindig olyan egyértelmű, mert ezt leíró struktúrák (json fájlok) vezérlik, szerintem ilyesmit nem lehet egykönnyen a routerrel megetetni, bár ki tudja.
Gondoltam például arra is, hogy minden média kérés egy php szkripten keresztül megy, és az dobja vissza a tartalmat (header, mime, fileread stb). Persze itt is a htaccess-től indulnánk. Ha nincs meg a kért fájl akkor futtatjuk a szkriptet. Szerintem ez nagyon lassú lenne komolyabb terhelésnél. A sebesség pedig kritikus kérdés, mert egy nagyobb rendszerről van szó. Vagy csak én aggódom túl?
Gondoltam valami 3rd party média szerver-szolgáltatás használatára is, bár nem tudom ilyen fallback mechanikák vannak-e. A komolyabbak sok pénzt kérnek.
Végül felvetődött bennem, hogy magához az Apachehoz kéne hozzáírni egy modult, ami persze baromi nagy meló lehet - főleg teljesen laikusként nekiindulva - viszont ez biztosítaná a leginkább rendszer közeli, és nyilván leggyorsabb megoldást.
Értelem szerűen ilyenkor lenne egy webszerver sima apache-al a normál tartalmak kiszolgálására, meg egy másik moddolt amin minden más szükségtelen dolog ki van kapcsolva, és ez csinálná a kérdésben leírtakat. Ilyenkor a cache-t memóriában lehetne tartani, csak úgy mint a fallback mechanizmust leíró json configokat.
Valahol oda kéne beékelni a logikát, ahol a http-vel kapcsolatos dolgok mind lezajlódtak, a konkrét fájl olvasás következik.
Alkalmazás
PHP esetén például Klein.php router használatával és egy kis memcache bevezetésével is szépen le lehet zongorázni a problémát.
Ha a leiro strukturat is
Kösz a linkeket, elkezdek
Php-ban készül, mivel ez az egész egy komplex branding/skining rendszer részeként kellene, ahol nem csak média tartalmak hanen a css-ek, js-ek, szöveges tartalmak is rendelkeznek fallback-el, ezeket pedig egy jól definiált mag vezérli.
Amit céloznék az az, hogy könnyen lehessen új brand-eket/skin-eket definiálni az egyes tartalmak redundáns tárolása nélkül. Tehát ha egy skin csak pár dologban tér el az alapértelmezett skin-től akkor csak az eltéréseket tároljuk. Ez pedig könnyebb adminisztrációhoz, átláthatóbb szerkezetekhez vezet reményeim szerint.