Ik heb een server met een leuk draaiende website (soort van profielen/foto site), de server heeft een uplink via een XS4ALL verbinding, dit is eigenlijk te weinig, maar de site is niet voor professionele doeleinden bedoeld en ik beheer met veel plezier de server dus ik wil niet professionele co-located hosting doen. Om toch de upload te compenseren zat ik aan een vorm van load balancing te denken.
Om dit te bereiken heb ik eventueel een 2e server van mijn broer tot zijn beschikking te staan, beide servers draaien Linux Ubuntu. Helaas staan de servers dus niet via een intern netwerk met elkaar verbonden maar ze zijn enkel via internet verbonden. De load die ik wil balancen is dus geen processor load maar network load.
Ik ben natuurlijk gaan uitzoeken op google naar load balancing maar ik krijg lichtelijk de indruk wat ik wil nogal omslachtig is, misschien moet ik het probleem in fases verdelen ofzo...
Server 1
Software: Apache/Php/Mysql website
Doel: hier worden de foto's op geupload, en bij upload verkleind.
Bij profielen bekijken wordt een image script gebruikt die er een logo on the fly op renderd, als dit voor het eerst gedaan wordt, wordt hij ook opgeslagen in een cache directory voor CPU besparing.
Server 2
Software: Apache
Doel: Ik zou de statische cache afbeeldingen van Server1 hier naartoe kunnen kopieeren via internet zodat ze op 2 locatie's bereikbaar zijn.
Idee
als ik voor de afbeeldingen nu een virtual host op server1 maak, bijvoorbeeld cache.domein.nl dan zou ik voor deze virtual server een mod_proxy kunnen aanroepen. In de dns zou ik cache2.domein.nl naar server 2 kunnen laten verwijzen, en een reverse proxy naar dit internet domein kunnen laten verwijzen. Erop hopend dat bij een aanvraag naar cache.mijndomein.nl/foto.jpg kunnen balancen naar cache2.mijndomein.nl/foto.jpg.
Waarschijnlijk probleem
Ik weet te weinig van mod_proxy, en ik vrees dat ik het niet kan gebruiken in mijn situatie omdat, (om maar eens 1 voorbeeld te geven) de server niet echt rechtstreeks aan internet zit maar achter een NAT router, dus de server kan zijn werkelijke uploadlimiet niet echt beoordelen. Daarbij komend, hoe weet server1 de load van server2 ?
Idee 2
het image script bestand gewoon random servers laten kiezen bij weergeven.
Ik zou heel graag van mensen met ervaringen in network load balancing wat tips & pointers willen krijgen zodat ik geen uitzoek werk hoef te doen wat op een dood punt eindigt, m.a.w. direct willen met de juiste software te werken om het doel te bereiken.
Om dit te bereiken heb ik eventueel een 2e server van mijn broer tot zijn beschikking te staan, beide servers draaien Linux Ubuntu. Helaas staan de servers dus niet via een intern netwerk met elkaar verbonden maar ze zijn enkel via internet verbonden. De load die ik wil balancen is dus geen processor load maar network load.
Ik ben natuurlijk gaan uitzoeken op google naar load balancing maar ik krijg lichtelijk de indruk wat ik wil nogal omslachtig is, misschien moet ik het probleem in fases verdelen ofzo...
Server 1
Software: Apache/Php/Mysql website
Doel: hier worden de foto's op geupload, en bij upload verkleind.
Bij profielen bekijken wordt een image script gebruikt die er een logo on the fly op renderd, als dit voor het eerst gedaan wordt, wordt hij ook opgeslagen in een cache directory voor CPU besparing.
Server 2
Software: Apache
Doel: Ik zou de statische cache afbeeldingen van Server1 hier naartoe kunnen kopieeren via internet zodat ze op 2 locatie's bereikbaar zijn.
Idee
als ik voor de afbeeldingen nu een virtual host op server1 maak, bijvoorbeeld cache.domein.nl dan zou ik voor deze virtual server een mod_proxy kunnen aanroepen. In de dns zou ik cache2.domein.nl naar server 2 kunnen laten verwijzen, en een reverse proxy naar dit internet domein kunnen laten verwijzen. Erop hopend dat bij een aanvraag naar cache.mijndomein.nl/foto.jpg kunnen balancen naar cache2.mijndomein.nl/foto.jpg.
Waarschijnlijk probleem
Ik weet te weinig van mod_proxy, en ik vrees dat ik het niet kan gebruiken in mijn situatie omdat, (om maar eens 1 voorbeeld te geven) de server niet echt rechtstreeks aan internet zit maar achter een NAT router, dus de server kan zijn werkelijke uploadlimiet niet echt beoordelen. Daarbij komend, hoe weet server1 de load van server2 ?
Idee 2
het image script bestand gewoon random servers laten kiezen bij weergeven.
Ik zou heel graag van mensen met ervaringen in network load balancing wat tips & pointers willen krijgen zodat ik geen uitzoek werk hoef te doen wat op een dood punt eindigt, m.a.w. direct willen met de juiste software te werken om het doel te bereiken.