Jedna administrace, X frontendů
- marau
- Člen | 50
Dobrý den,
řeším teď jeden celkem zajímavý projekt. Klient má rodinu webů (nyní
5 ale do budoucna je možný nárůst) a požaduje správu těchto webů
v rámci jedné administrace (objednávky, produkty, obsah atd…). Každý
z těchto webů může mít specifické vlastnosti a moduly (sms soutěže,
elektronický průvodce, import od různých dodavatelů, atd…). 3 weby jsou
celkem dost vytížené a proto bych je rád rozjel na vlastních virtuálních
serverech, 2 weby jsou vytížené méně ( < 1000 návštěv za den) a
mohou běžet na jednom virtuálním serveru společně. Přemýšlím nad
návrhem aplikace a rád bych pro tento projekt zvolil Nette. Pro každý web
bych rád využíval společné i unikátní presentery a šablony (například
nákupní košík, procházení produktů, detail produktu atd…, jsou
stejné). Je možné v nette nějakým způsobem toto zrealizovat? Díky.
- plasmo
- Člen | 66
Ahoj, nevím jestli je to košér řešení, ale já to řeším takto:
/seacret
- app_domena1
- app_domena2
- app_domena3
- app_admin
- lib
/www (tady mám doménu)
/subdomains
- admin
- sub1
- suy2
- sub3
- …
A pak jen u každé domény navedu cestu na správné app, které obsahuje presentery atd… pro daný web.
Editoval plasmo (20. 10. 2010 13:11)
- marau
- Člen | 50
Díky za tip,
mohu mít ještě dotaz, jak pro tyto frontendy řešíš například
routování? Přemýšlel jsem nad různými bootstrap soubory ale nakonec jsem
si vytvořil rozhraní pro třídu, která by se pro každý projekt volala
zvlášť (v ní bych měl zapsaná pravidla pro routování, případně
možnost upravit další konfigurační proměnné) + jeden hlavní objekt pro
obecná pravidla. Tam jsem nakonec narazil na špatné pořadí rout, takže to
budu asi řešit ne přímým voláním ale zděděním s možností upravit
pořadí rout.
- marau
- Člen | 50
Tak jsem narazil ještě na dva, zásadní, problémy a tím je sdílení
knihoven, souborů a databáze.
Pokud bych tento projekt rozjel na jednom dedikovaném serveru a pro každý
subprojekt vytvořit virtuální servery (pokud lze docílit rozložení
zátěže jinak, rád se přiučím), nedostanu se ke společným knihovnám a
budu muset na každém projektu rozjet jedno nette.
Dalším problémem je databáze. Pokud použiji jednu a jeden z projektů mi
ji shodí, spadnou i ostatní projekty. Rád bych si ale zachoval komfort
jednoduché práce s jednou databází (sdílené produkty, jednoduše
řešitelná přístupová práva atp.). Nemá někdo nápad, jak tohle
vyřešit? Díky.
- srigi
- Nette Blogger | 558
marau napsal(a):
Dalším problémem je databáze. Pokud použiji jednu a jeden z projektů mi ji shodí, spadnou i ostatní projekty. Rád bych si ale zachoval komfort jednoduché práce s jednou databází.
No na toto je predsa replikacia. Vseobecne, ak mas cas a zaujimas sa o skalovanie web aplikacii tradicnymi technologiami (Apache, MySQL) pusti si tento podcast a paralelne s nim si otvor to PDFko co je na rovnakej stranke a cele si to vypocuj/prejdi. Je to velmi poucne.