Toon posts:

Loadbalancing van webserver

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo,

Voor een groot .net project heb ik besloten mijn eigen server park neer te zetten (Azure webapp oplossing was niet snel genoeg). Ik heb 2 servers gekocht en wil deze volgende week in het datacenter gaan installeren.

Nu ben ik bezig met de servers te configureren en moet nu toch een hulplijn in gaan zetten. Het idee is als volgt:

Elke server draait 2 instanties van Windows, 1 virtueel en 1 direct op de hardware, er zijn dus 4 servers. De hardware servers ga ik instellen als IIS server + SQL server, die via database replicatie en DFS synchroon aan elkaar lopen.

De virtuele servers worden de loadbalancers, waarvan 1 aanstaat en 1 uit, deze zijn ook synchroon aan elkaar en hebben hetzelfde IP adres. De loadbalancer die aanstaat verdeelt het verkeer wat binnen komt over de 2 servers. En de loadbalancer die uit staat dient als failover voor als de andere server compleet offline gaat (in dat geval hoef ik alleen de loadbalancer aan te zetten en alles werkt weer).

De applicatie die ik heb gemaakt bestaat uit 2 websites; 1 voor de gebruiker die ivm snelheid op server 1 moet draaien, en 1 waarop zware scheduled tasks uitgevoerd worden (zoals video rendering) die op server 2 moet draaien. Deze verdeling is ook belangrijk voor de werking van de website, die niet goed werkt als het de requests geloadbalanced worden (ivm SignalR en het snelheidsverschil tussen de 2 servers).

Ik wil de loadbalancer graag zo instellen dat deze dus een voorkeur heeft voor welke applicatie door welke server wordt uitgevoerd, maar in geval van het offline gaan van 1 van de servers, wel al het verkeer van beide applicaties naar de overgebleven server stuurt.


Nu zit ik met 2 vragen;

1. De Loadbalancers, er zijn meerdere oplossingen hiervoor te krijgen, via een windows server component, maar je kunt het ook als plugin op IIS installeren. Wat is hiervoor de beste keuze voor mij? Zodat ik doelgerichter kan gaan zoeken naar tutorials hiervoor.

2. Is deze oplossing een beetje goed, of zie ik iets helemaal over het hoofd?


Ik ben eigenlijk gewoon een developer en heb dit soort werk nog nooit zelf gedaan :) Dus ik weet niet of ik de juiste termen heb gebruikt. 8)7

[ Voor 0% gewijzigd door Verwijderd op 12-06-2016 01:03 . Reden: typo ]

Beste antwoord (via Verwijderd op 12-06-2016 14:25)


  • ik222
  • Registratie: Maart 2007
  • Niet online
Verwijderd schreef op zondag 12 juni 2016 @ 12:32:
[...]


Hi, bedankt voor je antwoord, ik heb nog 2 vraagjes:

1. Welke instelling moet ik hebben voor mijn gewenste situatie (if (server1 = up) { redirect to server 1 } else { redirect to server 2 } ). Ik kan hem niet vinden in de lijst: roundrobin / leastconn / etc
Welke je bij die opties kiest maar niet uit als je maar 1 actieve server wilt. Wat je moet doen is acher de server definitie het woord 'backup' zetten. Op die manier wordt de betreffende server alleen gebruikt als alle andere gedefineerde servers onbereikbaar zijn.
2. Toen ik ging googlen naar HAPROXY kwam ik als tweede dit filmpje tegen: YouTube: HAPROXY vs NGINX - 10,000 requests while killing servers Hierin zie ik dat NGINX geen connectie laat doodgaan, terwijl de HAPROXY dit wel doet. Komt dit omdat hij HAPROXY verkeerd heeft ingesteld, of is dat andere programma gewoon beter?
Wat er in dat voorbeeld precies mis ging weet ik natuurlijk niet. Wat ik wel weet is dat HaProxy in elk geval standaard connectie limieten heeft. Die limieten zijn voor normaal gebruik in de meeste gevallen standaard hoog genoeg maar bij dit soort tests kan je er best tegen aan lopen. Uiteraard kan je dat allemaal configureren maar dat moet je dan dus wel doen.

Alle reacties


Acties:
  • +1 Henk 'm!

  • bvk
  • Registratie: Maart 2002
  • Laatst online: 18:24

bvk

Het gaat nooit snel genoeg!

Ik kan je niet helpen met je loadbalancing vraag, maar ik vraag me wel af waarom je al direct 2 servers gekocht hebt.

Je geeft niet aan wat voor servers het zijn, wat voor load het betreft en ook niet waarom je loadbalancing nodig hebt. Waarom kan het niet met een enkele server afgehandeld worden? En een project is als het goed is niet permanent en zit je ineens met 2 overbodige servers...

Dus waarom voldoen bijvoorbeeld meerdere Azure VM servers niet, of huur je gedurende het project niet gewoon 2 VPSjes of dedicated servers naar gelang de benodigde capaciteit?

Je hebt nu misschien weinig aan mijn vragen, maar misschien helpen de antwoorden erop om anderen je verder te helpen.

Specs


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
bvk schreef op zaterdag 11 juni 2016 @ 18:38:
Ik kan je niet helpen met je loadbalancing vraag, maar ik vraag me wel af waarom je al direct 2 servers gekocht hebt.

Je geeft niet aan wat voor servers het zijn, wat voor load het betreft en ook niet waarom je loadbalancing nodig hebt. Waarom kan het niet met een enkele server afgehandeld worden? En een project is als het goed is niet permanent en zit je ineens met 2 overbodige servers...

Dus waarom voldoen bijvoorbeeld meerdere Azure VM servers niet, of huur je gedurende het project niet gewoon 2 VPSjes of dedicated servers naar gelang de benodigde capaciteit?

Je hebt nu misschien weinig aan mijn vragen, maar misschien helpen de antwoorden erop om anderen je verder te helpen.
De load heb ik toch wel beschreven? (hosting zware website + render service)

Wat betreft die VPS en Azure VM's, dit is kosten technisch niet te verantwoorden, als ik exact dezelfde hardware opstelling 6 maanden huur heb ik de kosten van de 2 servers er al uit. En dan zit ik nog steeds met dezelfde vragen ;)

In de toekomst wil ik ook andere websites op deze servers gaan hosten waardoor de servers zichzelf nog harder gaan terug betalen.

Edit: Server configuraties kun je bij de inventaris op mijn profiel zien.

[ Voor 2% gewijzigd door Verwijderd op 11-06-2016 19:22 . Reden: verwijzing naar profiel ]


Acties:
  • +1 Henk 'm!

  • ik222
  • Registratie: Maart 2007
  • Niet online
Als je dan gaat virtualiseren dan zou ik alles virtualiseren, dus ook je webservers en SQL servers. Dus dat de host ook echt alleen VM host is.

Daarnaast zou ik als loadbalancers altijd een Unix OS nemen. Daarop kan je dan bijvoorbeeld Haproxy als loadbalancer draaien en eventueel kun je middels keepalived deze loadbalancers ook een gezamelijk VIP adres geven waardoor een eventuele failover ook automatisch gaat.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik222 schreef op zaterdag 11 juni 2016 @ 19:29:
Als je dan gaat virtualiseren dan zou ik alles virtualiseren, dus ook je webservers en SQL servers. Dus dat de host ook echt alleen VM host is.

Daarnaast zou ik als loadbalancers altijd een Unix OS nemen. Daarop kan je dan bijvoorbeeld Haproxy als loadbalancer draaien en eventueel kun je middels keepalived deze loadbalancers ook een gezamelijk VIP adres geven waardoor een eventuele failover ook automatisch gaat.
Hmm, unix is wel heel ver buiten mijn boekje (daar heb ik ook geen licenties voor), lijkt me toch wel dat dit ook met windows server goed te doen is?

Acties:
  • +2 Henk 'm!

  • Croga
  • Registratie: Oktober 2001
  • Laatst online: 08:11

Croga

The Unreasonable Man

Verwijderd schreef op zaterdag 11 juni 2016 @ 19:43:
(daar heb ik ook geen licenties voor)
Gezien het feit dat nagenoeg ieder *nix OS onder GNU valt heb je daar de licenties al voor.
lijkt me toch wel dat dit ook met windows server goed te doen is?
Ook mijn ervaring zegt dat dit onder een willekeurige *nix draaien vele malen eenvoudiger en stabieler werkt. Maar nog sterker; als je het echt stabiel wilt hebben zul je naar een hardware loadbalancer moeten (die onder de motorkap ook *nix draait ;)).

Daarnaast zou ik persoonlijk 4 VMs draaien; 2 per server, een web- en een render-VM per server. Daarmee wordt je loadbalancing op z'n minst eenvoudiger maar hoogstwaarschijnlijk ook een heel stuk effectiever. Zet er vervolgens een Cisco hardware loadbalancer voor en je bent helemaal binnen.

Acties:
  • +1 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 18:21
Met unix wordt linux of bsd bedoeld. Windows zou ook loadbalancing ingebouwd moeten hebben.

Ik vraag me af of loadbalancing echt nodig is. Aangezien je windows draait wil je wel graag failover: zonder failover heb je keuze tussen elke maand een kwartier of langer plat voor updates of gewoon helemaal niet updaten, beide geen leuk vooruitzicht.

Acties:
  • +1 Henk 'm!

  • ik222
  • Registratie: Maart 2007
  • Niet online
Ik ken anders ook genoeg voorbeelden waar men hardware loadbalancers juist vervangen heeft voor unix machines vanwege stabiliteit ;) Andersom ook maar imo is een goed ingerichte unix machine op degelijke hardware niet per definitie slechter of beter dan een hardware loadbalancer. Wat wel zo is als je zeer veel bandbreedte nodig hebt is dat je dan kan profiteren van de asics in hw loadbalancers. Maar dan heb ik het echt over meerder Gb/s, daar lijkt me hier geen sprake van.

Maar loadbalancing op Windows zou ik in elk geval afraden.

[ Voor 8% gewijzigd door ik222 op 11-06-2016 20:01 ]


Acties:
  • +1 Henk 'm!

  • Croga
  • Registratie: Oktober 2001
  • Laatst online: 08:11

Croga

The Unreasonable Man

@ik222 in feite is een hardware loadbalancer ook niet veel meer of minder dan een stuk hardware met Linux er op. De truuk zit hem in het feit dat alles veel eenvoudiger is; je hoeft niet meer zelf op zoek naar de juiste software of de juiste (text-file) instellingen. En aangezien TS zo te horen nog niet veel *nix ervaring heeft gaat dat een groot voordeel zijn.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dank jullie voor de reacties, klinkt wel goed.

Mijn webservers gaan ook virtueel draaien, en de loadbalancers worden worden linux. Iemand een idee waar ik dan moet beginnen? Naam van de loadbalancer? Welke versie van linux? Enige oplossingen voor automatische failover in geval van de server met loadbalancer die kapot gaat?

Als ik het goed begrijp stel ik die loadbalancer vm dan gewoon 1x goed in en kan ik daarna met de webservers doen en laten wat ik wil als er maar 1 blijft werken.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Croga schreef op zaterdag 11 juni 2016 @ 20:14:
@ik222 in feite is een hardware loadbalancer ook niet veel meer of minder dan een stuk hardware met Linux er op. De truuk zit hem in het feit dat alles veel eenvoudiger is; je hoeft niet meer zelf op zoek naar de juiste software of de juiste (text-file) instellingen. En aangezien TS zo te horen nog niet veel *nix ervaring heeft gaat dat een groot voordeel zijn.
Ben alleen bang dat een hardware loadbalancer ongeveer even duur gaat zijn als 1 van die servers. En daarnaast hebben de servers met elkaar een 20 gbit verbinding.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Croga schreef op zaterdag 11 juni 2016 @ 19:49:


Daarnaast zou ik persoonlijk 4 VMs draaien; 2 per server, een web- en een render-VM per server. Daarmee wordt je loadbalancing op z'n minst eenvoudiger maar hoogstwaarschijnlijk ook een heel stuk effectiever. Zet er vervolgens een Cisco hardware loadbalancer voor en je bent helemaal binnen.
Interessant btw!

Maar mijn render server heeft echt meer baat bij de 32 cores van server 2, terwijl de 8 cores van de webserver 1 vele male efficienter zijn in afhandelen van de webrequests. Vandaar mijn idee voor de verdeling, originele idee was zoals jij het beschrijft.

Acties:
  • +1 Henk 'm!

  • _JGC_
  • Registratie: Juli 2000
  • Laatst online: 18:21
Ik heb qua loadbalancing ervaring met linux virtual server en met openbsd met pf en relayd. Enige lvs setup waar ik tot nu toe mee gewerkt heb is op basis van linux 2.4, dus hoe dat zit met moderne kernels en tools weet ik niet.
Voor pf en relayd kan je ook kijken naar pfsense, een kant en klaar systeem met een webinterface. Persoonlijk voel ik meer voor pfsense dan voor een hardware ding die de waarde van je servers ruim overstijgt.

Op korte termijn mag ik 2 sonicwall firewalls, een vpn appliance en twee lvs machines gaan vervangen met 2 nieuwe servers met pfsense. Nieuwe servers kosten 1000 euro per stuk, de sonicwall apparatuur die eruit gaat heeft een meervoud gekost en echt super vind ik ze achteraf niet.

Acties:
  • 0 Henk 'm!

  • Croga
  • Registratie: Oktober 2001
  • Laatst online: 08:11

Croga

The Unreasonable Man

Verwijderd schreef op zaterdag 11 juni 2016 @ 20:46:
Maar mijn render server heeft echt meer baat bij de 32 cores van server 2, terwijl de 8 cores van de webserver 1 vele male efficienter zijn in afhandelen van de webrequests. Vandaar mijn idee voor de verdeling, originele idee was zoals jij het beschrijft.
Verwacht je zo weinig bezoekers dan?

Juist een webserver heeft baat bij een enorme berg paralelle processen zodat hij de requests parallel af kan handelen. Daarnaast heb jij juist baat bij twee exact dezelfde servers. Stel je voor dat server 2 er uit klapt; dan is je render proces, als dat inderdaad zo thread-heavy is, meteen te traag om iets zinnigs te doen....

Wat load balancers betreft; voor een euro of 1000 heb je een goede, refurbished, Cisco staan die al je internet verkeer aan kan. Ik ga er van uit dat je geen 20Gbit verbinding naar buiten toe hebt maar dat die alleen voor replicatie gebruikt wordt. Dat is geen probleem; dat wil je niet over de loadbalancer laten lopen.

Acties:
  • 0 Henk 'm!

  • _root
  • Registratie: Augustus 2003
  • Laatst online: 18:24
Als je toch voor een software oplossing wil gaan, probeer dan zeker eens Zen loadbalancer. ze hebben ook een zonder licentie te gebruiken Community Edition.

Werkt uitstekend, draait uitstekend in een HA oplossing en kan behoorlijk wat verkeer aan.

[ Voor 15% gewijzigd door _root op 12-06-2016 09:57 ]

PVoutput 3250 WP


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Croga schreef op zondag 12 juni 2016 @ 07:23:
[...]

Verwacht je zo weinig bezoekers dan?
Max 10 tegelijk, voor deze applicatie.
Croga schreef op zondag 12 juni 2016 @ 07:23:
[...]

Juist een webserver heeft baat bij een enorme berg paralelle processen zodat hij de requests parallel af kan handelen. Daarnaast heb jij juist baat bij twee exact dezelfde servers. Stel je voor dat server 2 er uit klapt; dan is je render proces, als dat inderdaad zo thread-heavy is, meteen te traag om iets zinnigs te doen....
Maar dit is niet je gemiddelde website waarop 10000 users een paar sql queries uitvoeren en naar de resultaten kijken. Loadbalancing is eigenlijk niet nodig, elke server is precies wat hij moet zijn voor de applicatie. Ik wil alleen loadbalancing gebruiken om automatische failovers te hebben, zodat ik niet om 2 uur snachts uit me bed wordt gebeld straks.
Croga schreef op zondag 12 juni 2016 @ 07:23:
[...]

Wat load balancers betreft; voor een euro of 1000 heb je een goede, refurbished, Cisco staan die al je internet verkeer aan kan. Ik ga er van uit dat je geen 20Gbit verbinding naar buiten toe hebt maar dat die alleen voor replicatie gebruikt wordt. Dat is geen probleem; dat wil je niet over de loadbalancer laten lopen.
Oke, heel eerlijk, wat zou sneller zijn?

1. Op de snelste server die ik heb (6700k @ 4.3ghz) draai ik een VM waarin NGINX draait, die het verkeer intern of via de 20 gbit connectie doorstuurt.

2. Of deze 2e hands cisco loadbalancer voor de prijs van een nieuwe server?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
ik222 schreef op zaterdag 11 juni 2016 @ 19:29:
Als je dan gaat virtualiseren dan zou ik alles virtualiseren, dus ook je webservers en SQL servers. Dus dat de host ook echt alleen VM host is.

Daarnaast zou ik als loadbalancers altijd een Unix OS nemen. Daarop kan je dan bijvoorbeeld Haproxy als loadbalancer draaien en eventueel kun je middels keepalived deze loadbalancers ook een gezamelijk VIP adres geven waardoor een eventuele failover ook automatisch gaat.
Hi, bedankt voor je antwoord, ik heb nog 2 vraagjes:

1. Welke instelling moet ik hebben voor mijn gewenste situatie (if (server1 = up) { redirect to server 1 } else { redirect to server 2 } ). Ik kan hem niet vinden in de lijst: roundrobin / leastconn / etc

2. Toen ik ging googlen naar HAPROXY kwam ik als tweede dit filmpje tegen: YouTube: HAPROXY vs NGINX - 10,000 requests while killing servers Hierin zie ik dat NGINX geen connectie laat doodgaan, terwijl de HAPROXY dit wel doet. Komt dit omdat hij HAPROXY verkeerd heeft ingesteld, of is dat andere programma gewoon beter?

Acties:
  • +1 Henk 'm!

  • Osxy
  • Registratie: Januari 2005
  • Laatst online: 18:32

Osxy

Holy crap on a cracker

Een 6700k (oc'd) in een server die productie systemen moet gaan draaien? Brr...

[ Voor 4% gewijzigd door Osxy op 12-06-2016 12:37 ]

"Divine Shields and Hearthstones do not make a hero heroic."


Acties:
  • +1 Henk 'm!

  • Rolfie
  • Registratie: Oktober 2003
  • Laatst online: 16:18
Verwijderd schreef op zaterdag 11 juni 2016 @ 17:57:

Nu ben ik bezig met de servers te configureren en moet nu toch een hulplijn in gaan zetten. Het idee is als volgt
Volgens mij zou je een plan moeten voordat je servers aanschaft? Hoe weet je nu dat je het goede hebt gekocht?
Elke server draait 2 instanties van Windows, 1 virtueel en 1 direct op de hardware, er zijn dus 4 servers. De hardware servers ga ik instellen als IIS server + SQL server, die via database replicatie en DFS synchroon aan elkaar lopen.
DFS-R, dus AD nodig. Je zal dan ook moeten kijken of DFS-R ook goed werkt, aangezien je anders op beide locaties kunt uitkomen, waar misschien net de file nog niet gerepliceerd was.
SQL icm IIS, is een leuke, ik ga er even vanuit dat je MSSQL bedoelt? Heb je je verdiept in de licentie structuur van dit product?
Je hebt icm IIS als heel snel CORE licenties nodig. En dit draaien op 2 server betekend dus al snel 8 CORE licenties. Dat kost je een heel hoop euro's. De bedragen die genoemd worden ben je al ongeveer kwijt aan SQL licenties.De list prijs van MS is $3771 voor 2 cores.

Als trouwens SQL onderuit gaat, gaat dan alles automatisch over, of moet je nog steeds je bed uit, om SQL over te zetten? Ik mis hier nog wel wat aandachts puntjes.
De virtuele servers worden de loadbalancers, waarvan 1 aanstaat en 1 uit, deze zijn ook synchroon aan elkaar en hebben hetzelfde IP adres. De loadbalancer die aanstaat verdeelt het verkeer wat binnen komt over de 2 servers. En de loadbalancer die uit staat dient als failover voor als de andere server compleet offline gaat (in dat geval hoef ik alleen de loadbalancer aan te zetten en alles werkt weer).
Hou er rekening mee dat de meeste Loadbalancers niet altijd goed werken onder Hyper-V.

Een eventuele goede mogelijkheid is Hyper-V core te nemen, en dan alles inderdaad virtueel te draaien. Eventueel via Hyper-V replication een HA oplossing bouwen. Dit is niet volledig automatisch. Maar ook dit moet je weer beheren en onderhouden.
Alternatief is ESXi, maar ook dat zal je moeten onderhouden.
2. Is deze oplossing een beetje goed, of zie ik iets helemaal over het hoofd?
Ik denk dat je vanaf het begin al verkeerd bezig bent. Je bent bezig om vanuit (aangeschafte) techniek aan het denken om iets neer te zetten. Zonder dat je eigenlijk exact weet wat je nodig hebt of wilt.
Ik ben eigenlijk gewoon een developer en heb dit soort werk nog nooit zelf gedaan.
No Offense, maar dat is te merken. Je bent al aan het bouwen, zonder dat je exact weet wat je nodig hebt of wilt.

Acties:
  • 0 Henk 'm!

  • downtime
  • Registratie: Januari 2000
  • Niet online

downtime

Everybody lies

Verwijderd schreef op zondag 12 juni 2016 @ 12:21:
Ik wil alleen loadbalancing gebruiken om automatische failovers te hebben, zodat ik niet om 2 uur snachts uit me bed wordt gebeld straks.
Als je niet om 2 uur 's nachts uit je bed gebeld wordt dan doe je het fout. Je wil de oorzaak van een failover meteen onderzoeken omdat het risico bestaat dat de tweede machine even later om dezelfde reden onderuit gaat als de eerste.

Ik zou overigens niet voor hardware loadbalancing gaan als de kosten van de hardware een issue zijn. Reden: Als beschikbaarheid echt belangrijk is moet de loadbalancer zelf ook redundant zijn. Dat ding kan immers ook kapot gaan. Het lijkt me in jouw geval een stuk goedkoper om het in software op te lossen. Een extra Linux of BSD VM kost je bijna niks.

Acties:
  • Beste antwoord
  • +1 Henk 'm!

  • ik222
  • Registratie: Maart 2007
  • Niet online
Verwijderd schreef op zondag 12 juni 2016 @ 12:32:
[...]


Hi, bedankt voor je antwoord, ik heb nog 2 vraagjes:

1. Welke instelling moet ik hebben voor mijn gewenste situatie (if (server1 = up) { redirect to server 1 } else { redirect to server 2 } ). Ik kan hem niet vinden in de lijst: roundrobin / leastconn / etc
Welke je bij die opties kiest maar niet uit als je maar 1 actieve server wilt. Wat je moet doen is acher de server definitie het woord 'backup' zetten. Op die manier wordt de betreffende server alleen gebruikt als alle andere gedefineerde servers onbereikbaar zijn.
2. Toen ik ging googlen naar HAPROXY kwam ik als tweede dit filmpje tegen: YouTube: HAPROXY vs NGINX - 10,000 requests while killing servers Hierin zie ik dat NGINX geen connectie laat doodgaan, terwijl de HAPROXY dit wel doet. Komt dit omdat hij HAPROXY verkeerd heeft ingesteld, of is dat andere programma gewoon beter?
Wat er in dat voorbeeld precies mis ging weet ik natuurlijk niet. Wat ik wel weet is dat HaProxy in elk geval standaard connectie limieten heeft. Die limieten zijn voor normaal gebruik in de meeste gevallen standaard hoog genoeg maar bij dit soort tests kan je er best tegen aan lopen. Uiteraard kan je dat allemaal configureren maar dat moet je dan dus wel doen.

Acties:
  • +1 Henk 'm!

  • Croga
  • Registratie: Oktober 2001
  • Laatst online: 08:11

Croga

The Unreasonable Man

Verwijderd schreef op zondag 12 juni 2016 @ 12:21:
1. Op de snelste server die ik heb (6700k @ 4.3ghz) draai ik een VM waarin NGINX draait, die het verkeer intern of via de 20 gbit connectie doorstuurt.
In dit scenario is loadbalancing zinloos en overbodig.

- Je hebt 2 servers waarvan er slechts 1 geschikt is voor je belangrijkste taak
- Je loadbalancer draait op één van die servers

Ofwel:
- Als beide servers aan het werk zijn doet je loadbalancer niets. Iedere server heeft namelijk een dedicated rol.
- Als de render server down gaat ben je gesjochten. De andere server kan die taak niet over nemen omdat ie niet geschikt is voor het werk.
- Als de Web server down gaat heb je geen loadbalancer nodig.

Ik kan geen enkel scenario bedenken waar de loadbalancer iets toevoegt. Je zegt dat je failover wilt maar hebt twee servers aangeschaft die elkaars werk niet kunnen opvangen. Ik denk dat je terug naar de tekentafel moet; de situatie die je schetst is.... niet handig.

Acties:
  • +1 Henk 'm!

  • bigfoot1942
  • Registratie: Juni 2003
  • Niet online
Meerwaarde van Loadbalancing (en failover) kan je pas effectief inzetten wanneer je je hardware identiek koopt en je software (/vm) hierover 1:1 gemirrord plaatst.

Mocht je uiteindelijk 2 webservers hebben (over hopelijk 2 hosts met hopelijk redundant uigevoerde backend) kan kan je prima Windows NLB gebruiken, zie https://technet.microsoft...ry/hh831698(v=ws.11).aspx
Ik zou liever Windows NLB gebruiken dan een zelfbouw linux ding, wanneer je daarmee geen affiniteit hebt. Uiteraard is een hardware- of virtual appliance beter...

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Croga schreef op zondag 12 juni 2016 @ 13:58:
[...]

In dit scenario is loadbalancing zinloos en overbodig.

- Je hebt 2 servers waarvan er slechts 1 geschikt is voor je belangrijkste taak
- Je loadbalancer draait op één van die servers

Ofwel:
- Als beide servers aan het werk zijn doet je loadbalancer niets. Iedere server heeft namelijk een dedicated rol.
- Als de render server down gaat ben je gesjochten. De andere server kan die taak niet over nemen omdat ie niet geschikt is voor het werk.
- Als de Web server down gaat heb je geen loadbalancer nodig.

Ik kan geen enkel scenario bedenken waar de loadbalancer iets toevoegt. Je zegt dat je failover wilt maar hebt twee servers aangeschaft die elkaars werk niet kunnen opvangen. Ik denk dat je terug naar de tekentafel moet; de situatie die je schetst is.... niet handig.
Als server 1 down gaat:
- gaat al het verkeer naar de loadbalancer op server 2
- wordt de webserver op server 2 geactiveerd (die 2x zo langzaam is, maar wel werkt)

Als server 2 down gaat:
- gaat al het verkeer naar de loadbalancer op server 1
- wordt de render service geactiveerd op server 1 (die een stuk langzamer is, maar wel werkt)
- wordt de webserver iets langzamer door het lopen van een render process op de achtergrond
- doet de applicatie een failover naar de gerepliceerde sql server op server 1

De extremen die jij schetst zijn gewoon een stuk milder allemaal. En er is volgens mij geen andere manier om dit te doen dan via een loadbalancer, ook al is het gewoon failover. Of wel?

Het zal wel een slechte humeur ochtend zijn onder de tweakers, want het ging er toch super gemoedelijk aan toe gister. Nu: "is loadbalancing zinloos en overbodig", "Ik denk dat je terug naar de tekentafel moet" om nog maar niet over de anderen te beginnen.

Acties:
  • +1 Henk 'm!

  • downtime
  • Registratie: Januari 2000
  • Niet online

downtime

Everybody lies

Verwijderd schreef op zondag 12 juni 2016 @ 14:20:
En er is volgens mij geen andere manier om dit te doen dan via een loadbalancer, ook al is het gewoon failover. Of wel?
Clustering?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ga op onderzoek uit, thanks (hopelijk) :)

Acties:
  • 0 Henk 'm!

  • Rolfie
  • Registratie: Oktober 2003
  • Laatst online: 16:18
Verwijderd schreef op zondag 12 juni 2016 @ 14:20:
Het zal wel een slechte humeur ochtend zijn onder de tweakers, want het ging er toch super gemoedelijk aan toe gister. Nu: "is loadbalancing zinloos en overbodig", "Ik denk dat je terug naar de tekentafel moet" om nog maar niet over de anderen te beginnen.
Volgens klopt dit ander behoorlijk met wat je aan het doen ben zoals je hieronder ook aangeeft.
Verwijderd schreef op zondag 12 juni 2016 @ 14:27:
Ik ga op onderzoek uit, thanks (hopelijk) :)
Je hebt namelijk niet echt een die wat je aan het doet bent. Het is lullig om te zeggen, maar je weet eigenlijk zelf niet eens wat je moet bouwen. Laat staan hoe je het moet bouwen. Iedere keer is het net weer iets anders.

Nu moeten we het allemaal leren, en adviezen op GOT kunnen daar wel heel goed bij helpen.
Maar je bent nu vanuit de verkeerde kant aan het bedenken.
Wat je wilt is best complex, en daar moet je even goed over nadenken. Hoe complexer het namelijk wordt, hoe moeilijker het wordt om te onderhouden of te troubleshooten. En dan nog even afgezien van het licentie vraagstukje, wat nog complexer is bij Microsoft.

Als bv server 2 down gaat, moet dan alles automatisch overgaan? Of moet dit met de hand?
Je Loadbalancer zal bij automatisch ook op beide nodes actief moeten draaien. Had je daar ook al over nagedacht? Of je moet iets bouwen dat de machine opstart / overzet of een IP assigned?
NBL.... Werkt.... Maar kan ook een heel hoop problemen opleveren. (Unicast, Multicast, IGMP). Even afgezien het niet intelligent werkt.

En eigenlijk heb je nog niets, behalve hardware en een idee, wat je nu het bedenken / bouwen bent (Dat is trouwens een eigenschap van een techneut).

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het probleem van clustering zover ik kan zien is dat ik mijn idee voor 2 verschillende servers, voor verschillende loads, die dan ook elkaars failover zijn, hierbij niet werkt. Dit terwijl het met loadbalancing perfect werkt. Ik zou clustering wel kunnen gebruiken om de 2 servers apart weer te gaan clusteren voor nog minder point's of failure, maar dit geeft ook weer technische uitdagingen op applicatieniveau.

Ik ben geholpen, maar bedankt voor je nieuwe input, het leek me ook wel waarschijnlijk dat er iets slims gedaan kon worden tussen de servers zonder behulp van een loadbalancer.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Croga schreef op zaterdag 11 juni 2016 @ 19:49:
[...]

Gezien het feit dat nagenoeg ieder *nix OS onder GNU valt heb je daar de licenties al voor.

[...]

Ook mijn ervaring zegt dat dit onder een willekeurige *nix draaien vele malen eenvoudiger en stabieler werkt. Maar nog sterker; als je het echt stabiel wilt hebben zul je naar een hardware loadbalancer moeten (die onder de motorkap ook *nix draait ;)).

Daarnaast zou ik persoonlijk 4 VMs draaien; 2 per server, een web- en een render-VM per server. Daarmee wordt je loadbalancing op z'n minst eenvoudiger maar hoogstwaarschijnlijk ook een heel stuk effectiever. Zet er vervolgens een Cisco hardware loadbalancer voor en je bent helemaal binnen.
Ik hoop niet dat ik lullig op jou over kwam, want jou bijdrage voor mijn antwoord is heel groot geweest, ik kan helaas dit antwoord niet aangeven als beste antwoord omdat je niet exact aangeeft wat ik moet doen zoals ik222. Maar anders was dit hem zeker geweest: Makkelijke oplossing: Hardware loadbalancer, Moeilijker: Software loadbalancer via *nix.

Acties:
  • 0 Henk 'm!

  • Rolfie
  • Registratie: Oktober 2003
  • Laatst online: 16:18
Verwijderd schreef op zondag 12 juni 2016 @ 15:47:
Makkelijke oplossing: Hardware loadbalancer
En wat als deze het begeef om 0200? Hoe ga je het dan oplossing? je maakt met 1 device een SPOF.
Betere omschrijving:Makkelijke oplossing: HA Hardware loadbalancer
Moeilijker: Software loadbalancer via *nix.
Betere omschrijving: Moeilijker: HA Software loadbalancer.
Waar trouwens ook gewoon hele goede devices voor zijn. Pfsense bied eigenlijk wat je nodig hebt. Cluster functionaliteit en loadbalancer en alles vanuit een GUI, en is ook nog eens gratis en doet het onder Hyper-V.
Al zijn er veel meer software appliances die dit goed kunnen.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
@Rolfie,

Haproxy heeft de mogelijkheid zichzelf te loadbalancen, wat automatische failover geeft. (gister geleerd)

SQL replicatie doet ook volledig automatische failovers (via connectionstring).

En als dat licentie verhaal waar is waardoor mijn huidige licentie niet voldoende zou zijn, switch ik naar mysql, no problem. Maar ik zal er contact over opnemen met ms.

[ Voor 3% gewijzigd door Verwijderd op 12-06-2016 16:49 ]

Pagina: 1