Řešení 1:
Existuje několik způsobů, jak to udělat na základě vašich potřeb.
- Používejte centrální souborový server připojený pomocí fx NFS na webových serverech
- Stejné jako výše, ale nadbytečné, takže pokud jeden selže, převezme řízení druhý
- Použijte nějaký druh synchronizačního nástroje (například rsync) a hostujte soubory lokálně na webových serverech. Poté nastavte cronjob pro synchronizaci souborů mezi servery v určitém intervalu.
- Použijte síť CDN, jako je Amazon S3, Akamai atd.
První dva jsou nejlepší, pokud máte spoustu nových souborů. Třetí by bylo ideálním řešením, pokud nepřidáváte nebo neměníte soubory tak často, protože uživatelé budou dostávat 404 u statického obsahu, který ještě nebyl synchronizován.
Poslední možnost může být v mnoha ohledech ideální, ale může se také ukázat jako nejdražší ze 4. Budete také muset přepsat své webové stránky, aby to podporovaly.
Řešení 2:
Dalším skvělým způsobem, jak snížit zatížení webových serverů a provést vyrovnávání zatížení, je squid (jmenovitě squid3) Nastavte jej jako reverzní proxy s ukládáním do mezipaměti. Uloží statický obsah, jako jsou obrázky atd., buď na HDD (výchozí) nebo do RAM (rychlejší a nejlepší), pokud to tak nastavíte. Pokud je některý konkrétní uzel přetížen, je také schopen cyklicky pracovat s jinými servery squid.
Řešení 3:
Jedním z řešení tohoto problému, který jsem použil, je mít hlavní kopii souborů pro čtení/zápis na sdíleném disku NFS, ale také ponechat kopii pouze pro čtení na každém webovém serveru, takže selhání hostitele NFS znemožní přístup k souborům. v režimu pouze pro čtení, než aby je úplně ztratili.
- Soubory jsou uloženy na centrálním hostiteli a jsou sdíleny s webovými hostiteli prostřednictvím připojení NFS
rsync
běží vždy 15 minut, aby byla kopie pouze pro čtení na každém webovém hostiteli aktuální.- A
check_link
bash skript se spouští každou minutu, aby se ujistil, že připojení NFS je stále tam, a pokud ne, zamění symbolický odkaz na kopii pouze pro čtení.
Další podrobnosti naleznete v tomto článku z doby, kdy jsem tento systém poprvé nastavil.
Výhody:
- Čtení souborů je vysoce dostupné
- Žádné závody pro zápisy souborů
- Nové soubory jsou okamžitě dostupné všem webovým hostitelům.
Nevýhody:
- trochu složité.
- počet kopií pouze pro čtení se mění s počtem webových hostitelů, což může být nadměrné, pokud máte mnohem více než dva.
- Zápisy souborů nejsou vysoce dostupné.
- Možnost až 1 minuty výpadku před přepnutím na kopii pouze pro čtení.