MTE legt uit: wat is taakverdeling en hoe helpt het websites?
Wanneer u in de jaren 90 verbinding maakte met een website, werd u doorgestuurd naar één server en diezelfde server antwoordde u. In die tijd was het verkeer schaars, omdat niet veel mensen op het internet waren aangesloten. Naarmate de tijd verstreek, begonnen miljarden meer om verbinding te maken met het internet en om hun eigen verzoeken bij verschillende servers in te dienen. Dit werd gemakkelijk opgelost door een handig concept te bedenken dat load balancing heet. Dit specifieke concept heeft geholpen bij het oplossen van een patstelling die al jarenlang grotere websites heeft geteisterd. Hoe dit gaat is iets dat we willen beantwoorden.
Wat is taakverdeling?
In een typisch webbrowser-scenario verzendt uw browser een aanvraag naar een server en geeft de server antwoord met de gegevens die de gevraagde webpagina vormen. Wat als duizenden browsers zijn verbonden met deze server? Het wordt overweldigd, tenzij een andere server het werk van het verwerken van sommige van die actieve verbindingen overneemt. De oplossing voor dit probleem is taakverdeling in de meest eenvoudige vorm.
Met load balancing komen een netwerk van verbonden servers en een beetje softwarematig samen om actieve verbindingen daartussen op zo'n manier te distribueren dat geen enkele server overbelast raakt. Op deze manier kan een site zoals Google of Facebook miljoenen actieve gebruikers tegelijk verwerken zonder ze allemaal op dezelfde plek te hoeven houden.
Het brein van de hele operatie staat bekend als de "load balancer", een netwerkrouteringssysteem dat fungeert als een coördinator en bepaalt waar elke verbinding zich zal bevinden.
Als u een idee wilt hebben van hoe load-balancing eruit ziet, zo past Google DNS-taakverdeling toe op zijn domein:
Merk op hoe meerdere IP's worden geretourneerd voor het domein. Dat zijn enkele van de servers die Google in mijn nabijheid gebruikt.
Laag 4 versus laag 7
Er zijn twee soorten taakverdeling: Laag 4 en Laag 7. Deze getallen geven het type verkeer weer dat wordt afgehandeld en zijn gerelateerd aan de verschillende niveaus van het Open Systems Interconnection (OSI) -model. Voor de eenvoud zullen we niet te ver duiken in wat OSI is. Als je nieuwsgierig bent, kun je lezen over alle verschillende niveaus in deze handige kleine factsheet.
Alles wat u moet weten over deze lagen is dat Layer 4 - de "transportlaag" - omgaat met de wat grimmiger aspecten van internetcommunicatie. Laag 7 - ook bekend als de "applicatielaag" - behandelt wat u ziet zodra u een website of een webapp binnengaat.
Wat load-balancing betreft, zorgt Layer 7 voor meer zichtbaarheid en bijgevolg een veel intelligentere verdeling van de belasting. Kortom, door meer te weten te komen over de manier waarop uw bezoekers met de website omgaan, kunt u beter de hoeveelheid resources (dat wil zeggen rekenkracht) beoordelen die zij nodig hebben. U kunt dus ook een betere algehele gebruikerservaring (UX) bieden door een beter gebruik van uw serverbronnen.
Hoe anders helpt het websites?
Load balancing kan, naast het balanceren van belastingen, andere essentiële functies uitvoeren. Omdat u nu over meerdere servers beschikt om al het inkomende verkeer af te handelen, kunt u ook het effect van een DDoS-aanval temperen en de verdeling van de belasting prioriteren zoals u dat wilt. Webmasters kunnen bijvoorbeeld verschillende servicelagen maken door sommige abonnees sneller toegang tot de site te geven, zelfs tijdens "spitsuur".
Conclusie
Hoewel vaak over het hoofd gezien als een "onzichtbare" technologie, is load balancing de ruggengraat van veel van de belangrijkste diensten die u dagelijks gebruikt. Schakelaars en netwerken pompen uw gegevens onvermoeibaar in om ervoor te zorgen dat u de best mogelijke ervaring krijgt bij een bezoek aan het web. Inzicht in wat load balancing is en hoe dit van toepassing is op uw eigen gebruikerservaring, is een goede manier om uw kennis van de interne werking van internet te verbreden.
Als je nog vragen of opmerkingen hebt, laat dan je mening achter in een opmerking!