Load Balancing met GO-Global
Inleiding
Load balancing is essentieel voor het optimaliseren van prestaties en betrouwbaarheid in GO-Global-omgevingen. Door gebruikerssessies over meerdere hosts te verdelen, zorgt load balancing voor een efficiënt gebruik van systeembronnen, minimaliseert het downtime en biedt het een naadloze ervaring voor eindgebruikers.
GO-Global ondersteunt verschillende configuraties voor load balancing, waaronder load balancers van derden, Relay Load Balancers met afhankelijke hosts en onafhankelijke hostconfiguraties. In dit artikel worden de verschillende configuraties uitgelegd, worden de systeemvereisten beschreven en wordt advies gegeven aan beheerders die schaalbare en veerkrachtige GO-Global-implementaties willen uitvoeren, zowel voor kleine teams als voor omgevingen op bedrijfsniveau.
Load balancing maakt het mogelijk om GO-Global-sessies over meerdere hosts te verdelen. Load balancing is nodig wanneer de hostbronnen die nodig zijn voor een implementatie de capaciteit van één hostcomputer overschrijden. GO-Global kan ook worden gebruikt met elke TCP/IP-gebaseerde load balancing-service van derden.
GO-Global ondersteunt drie load balancing-configuraties:
- Een load balancer van een derde partij die verbindingen routeert naar een verzameling Farm Hosts die worden beheerd door een Farm Manager. Deze configuratie wordt aanbevolen voor grote implementaties (bijvoorbeeld meer dan 500 gelijktijdige gebruikers) wanneer gecentraliseerd beheer of herverbinding van sessies vereist is. In een farmomgeving met load balancing gebruiken beheerders de Admin Console op de Farm Manager om de gepubliceerde applicaties en instellingen op alle Farm Hosts te configureren. Beheerders kunnen sessies beheren en volgen die op elke host in de farm worden uitgevoerd. Gebruikers kunnen sessies starten op één apparaat (bijvoorbeeld een computer op kantoor), de verbinding verbreken en vervolgens opnieuw verbinding maken met hun sessies vanaf een ander apparaat (bijvoorbeeld een computer thuis). Deze configuratie biedt optimale schaalbaarheid, betrouwbaarheid en stabiliteit voor grote implementaties.
- Een GO-Global Relay Load Balancer die verbindingen naar een verzameling afhankelijke hosts routeert. Deze configuratie is ideaal voor kleinere implementaties (bijvoorbeeld minder dan 500 gelijktijdige gebruikers) waar geen load balancer van een derde partij beschikbaar is. GO-Global verdeelt de clientverbindingen en zorgt ervoor dat sessies succesvol worden gestart. Als een sessie niet kan worden gestart op de geselecteerde host, selecteert de Relay Load Balancer een andere host en probeert het opnieuw totdat er een wordt gevonden die de sessie kan ondersteunen.
- Een load balancer van een derde partij die verbindingen naar een verzameling onafhankelijke hosts balanceert. Deze configuratie wordt aanbevolen voor grote implementaties wanneer herverbinding van sessies of gecentraliseerd beheer niet vereist is. Onafhankelijke hosts communiceren niet met andere GO-Global-hosts die op het netwerk draaien en kunnen verschillende configuratieopties en verschillende gepubliceerde applicaties hebben.
Vereisten voor load balancing
- Op elke host in het cluster moet een GO-Global Host worden geïnstalleerd.
- Voor webimplementaties geldt dat als de load balancer de verbindingen van de browsers van gebruikers (voor het downloaden van AppController en de GO-Global Web App) naar de GO-Global Hosts routeert, elk van de GO-Global Hosts in het cluster de GO-Global Web-bestanden geïnstalleerd moet hebben. Als de load balancer alleen verbindingen van AppController en de GO-Global Web App naar de GO-Global Hosts routeert, hoeven de webbestanden niet op elke GO-Global Host te staan. In dat geval moeten de webbestanden worden geïnstalleerd op de machine waarop de webserver draait.
- Als een toepassing gebruikersspecifieke instellingen opslaat in het register (bijvoorbeeld Microsoft Word), wordt het ten zeerste aanbevolen dat gebruikers werken met roamingprofielen in plaats van lokale profielen. Aangezien het onmogelijk is te voorspellen op welke server de gebruiker daadwerkelijk zal inloggen in een gebalanceerde serverfarm, is het werken met roamingprofielen de enige manier om ervoor te zorgen dat gebruikersspecifieke instellingen te allen tijde beschikbaar zijn voor de gebruiker.
Bij gebruik van on-premises licenties in een configuratie met load balancing raadt GraphOn aan om een licentieserver te gebruiken. Zie On-Premises Licensing voor meer informatie.
Bij gebruik van cloudlicenties raadt GraphOn aan om GO-Global te activeren op de Relay Server of Farm Manager. GraphOn raadt het gebruik van cloudlicenties af wanneer een load balancer van een derde partij wordt gebruikt met Independent Hosts.
Onafhankelijke hosts
Onafhankelijke hosts zijn GO-Global-hosts die geen interactie hebben met andere GO-Global-hosts die op het netwerk draaien. Onafhankelijke hosts worden in de beheerconsole weergegeven op het eerste niveau van de boomstructuur van GO-Global-hosts als een onafhankelijk knooppunt. Het GO-Global-installatieprogramma configureert hosts om als onafhankelijke hosts te functioneren. GO-Global-clients kunnen rechtstreeks verbinding maken met onafhankelijke hosts door de naam of het IP-adres van de server op te geven in het dialoogvenster Verbinding of in het locatievak van een webbrowser.
Clients kunnen ook verbinding maken met onafhankelijke hosts via een netwerkloadbalancer van een derde partij die clientverbindingen over meerdere servers verdeelt. Deze configuratie biedt echter slechts beperkte ondersteuning voor het opnieuw verbinden van sessies. Meer bepaald ondersteunt het het opnieuw verbinden van gebruikers met hun sessies als een netwerkstoring de verbinding verbreekt, maar het staat gebruikers niet toe om de verbinding met hun sessies te verbreken en later opnieuw verbinding te maken.
Wanneer onafhankelijke hosts samen met een externe load balancer worden gebruikt, moeten beheerders de optie selecteren om verbroken sessies onmiddellijk te beëindigen op het tabblad Sessie afsluiten van het dialoogvenster Hostopties van de beheerconsole. Anders hebben gebruikers in het programmavenster de mogelijkheid om de verbinding met hun sessies te verbreken, maar als ze deze optie selecteren, kunnen ze over het algemeen niet opnieuw verbinding maken met hun sessies.
Daarnaast moeten beheerders controleren of de waarde van de eigenschap SessionTimeoutBrokenConnection in het bestand HostProperties.xml van elke host is ingesteld op 0. Dit is meestal de standaardinstelling, dus vaak hoeft er niets te worden gewijzigd. Dit zorgt ervoor dat sessies niet op de host blijven draaien nadat de verbinding is verbroken.
Als de Application Publishing Service niet op een host wordt uitgevoerd, wordt het pictogram van de host rood weergegeven. Als de beheerder geen rechten heeft om toegang te krijgen tot de host, wordt het pictogram van de host geel weergegeven.
Relais-loadbalancers
Een Relay Load Balancer is een GO-Global Host die gecentraliseerde controle biedt over een of meer hosts. Relay Load Balancers onderhouden clientverbindingen en verdelen GO-Global-sessies over een reeks applicatiehosts met load balancing. Relay Load Balancers verschijnen in de Admin Console op het eerste niveau van de lijst met Alle hosts als knooppunten met een of meer afhankelijke hosts.Om een GO-Global Host te configureren om te functioneren als een Relay Load Balancer
- Selecteer de gewenste host uit de lijst met Alle hosts.
- Klik op Extra | Hostopties.
- Klik op het tabblad Configuratie.
- Typ de naam of het IP-adres van de computer in het adresvak van de Relay Load Balancer.
- Klik op OK.
- Er wordt een berichtvenster weergegeven waarin wordt aangegeven dat de wijziging pas van kracht wordt nadat de Application Publishing Service op de Relay Load Balancer opnieuw is opgestart. Klik op OK.
- Stop en start de GO-Global Application Publishing Service opnieuw vanuit de optie Services in het Configuratiescherm.
Nadat een host is geconfigureerd om te werken als een Relay Load Balancer met een of meer afhankelijke hosts, verdeelt GO-Global de clientverbindingen en zorgt ervoor dat sessies succesvol worden gestart. Als een sessie niet kan worden gestart op de geselecteerde host, selecteert de Relay Load Balancer een andere host en probeert het opnieuw totdat er een host wordt gevonden die de sessie kan ondersteunen.
De Relay Load Balancer start nieuwe sessies op de afhankelijke host met de lichtste belasting, waarbij de belasting op elke afhankelijke host wordt berekend als het aantal sessies dat op de afhankelijke host wordt uitgevoerd, gedeeld door het maximum aantal sessies op deze host dat is ingesteld in de Admin Console voor de afhankelijke host.
Met Relay Load Balancers worden alle gegevens die tussen de clients en afhankelijke hosts worden verzonden, via de Relay Load Balancer doorgegeven. Zorg er bij het instellen van een relaisserveromgeving voor dat hetzelfde pad naar de logmap voor de relais-loadbalancer op de afhankelijke hosts bestaat. Anders verschijnt het aanmeldingsvenster niet wanneer gebruikers zich bij GO-Global willen aanmelden. Maak een logboekmap aan op de C:-schijf van elke Relay Load Balancer (bijvoorbeeld C:\Data\APS_LOGS) of gebruik C:\Program Files\GraphOn\GO-Global\Log, die al op de afhankelijke host bestaat. Zorg ervoor dat hetzelfde pad op de afhankelijke host bestaat. Naast het wijzigen van het pad naar de logmap in de beheerconsole, moeten de mappen \Log\Codes en \Log\Templates naar de nieuwe locatie worden gekopieerd.
Wanneer een Relay Load Balancer is geselecteerd in de beheerconsole, wordt het aantal processen dat op alle afhankelijke hosts wordt uitgevoerd niet weergegeven in de statusbalk van de beheerconsole.
Een Relay Load Balancer vereist minimaal 1 GB RAM en 2 processors. Per 1.000 gelijktijdige gebruikers zijn 3 GB extra RAM en 2 extra processors vereist.
De geheugen- en CPU-vereisten voor de Dependent Hosts worden bepaald door de applicaties die worden gepubliceerd en het aantal gebruikers dat toegang heeft tot het systeem. Over het algemeen kan een afhankelijke host 12 'zware' gebruikers/500 MHz CPU en 25 'lichte' gebruikers/500 MHz CPU ondersteunen. ('Zwaar' wordt gedefinieerd als een gebruiker die een of meer grote applicaties uitvoert met continue gebruikersinteractie. 'Licht' wordt gedefinieerd als een gebruiker die één applicatie uitvoert met intermitterende gebruikersinteractie.)
Afhankelijke hosts
Een afhankelijke host is een GO-Global-host die is verbonden met een relais-loadbalancer. GO-Global-clients kunnen niet rechtstreeks verbinding maken met afhankelijke hosts. In plaats daarvan maken ze verbinding met de bijbehorende relais-loadbalancer, die vervolgens een van de verbonden servers selecteert om de sessie te hosten.Een GO-Global-host configureren om als afhankelijke host te functioneren
- Selecteer de gewenste host uit de lijst met Alle hosts.
- Klik op Extra | Hostopties.
- Klik op het tabblad Configuratie .
- Klik op Applicatiehost.
- Klik op Afhankelijke host.
- Typ het IP-adres van de Relay Load Balancer in het adresvak van de Relay Load Balancer.
- Klik op OK.
- Er wordt een berichtvenster weergegeven waarin wordt aangegeven dat de wijziging pas van kracht wordt nadat de Application Publishing Service opnieuw is opgestart. Klik op OK.
- Stop en start de GO-Global Application Publishing Service opnieuw via de optie Services in het Configuratiescherm.
Wanneer de Application Publishing Service opnieuw wordt opgestart, verschijnt de afhankelijke host onder de Relay Load Balancer in de lijst met GO-Global-hosts in de Admin Console. Een afhankelijke host die geel gekleurd is, geeft aan dat de host 'verweesd' is, met andere woorden, dat de Relay Load Balancer is uitgevallen. Als de Application Publishing Service niet op een host draait, is het pictogram van de host rood.
Gebruikers worden geauthenticeerd op afhankelijke hosts, niet op Relay Load Balancers. Als gevolg hiervan kunnen afhankelijke hosts zich op een ander netwerk bevinden dan hun bijbehorende Relay Load Balancer. Afhankelijke hosts kunnen zich bijvoorbeeld achter een firewall op een intern Active Directory-netwerk bevinden, terwijl de bijbehorende Relay Load Balancer zich in een gedemilitariseerde zone (DMZ) buiten de firewall bevindt. Als geïntegreerde Windows-authenticatie wordt gebruikt, moeten clients en afhankelijke hosts zich op hetzelfde domein bevinden, maar de Relay Load Balancer kan zich op een ander domein bevinden.
Op elke afhankelijke host moet dezelfde set applicaties zijn geïnstalleerd. GraphOn raadt aan dat elke applicatie op elke host hetzelfde installatiepad heeft.
Een afhankelijke host offline halen
Beheerders kunnen voorkomen dat nieuwe gebruikers verbinding maken met een GO-Global-host door het maximum aantal sessies op deze host in te stellen op 0 in het tabblad Sessie starten. Hierdoor kunnen beheerders een afhankelijke host uit een Relay Load Balancer-omgeving verwijderen zonder gebruikerssessies te verliezen.
- Selecteer de gewenste afhankelijke host uit de lijst met alle hosts.
- Klik op Extra | Hostopties.
- Klik op het tabblad Sessie starten.
- Stel in de Maximum-sessies op deze hostbox de waarde in op 0. Dit voorkomt dat nieuwe gebruikers verbinding maken met de host.
- Klik op OK.
- Controleer het aantal sessies dat op de host wordt uitgevoerd. Wanneer het aantal sessies nul bereikt, sluit u de afhankelijke host af.
Conclusie
Het implementeren van de juiste configuratie voor load balancing is van cruciaal belang voor het bereiken van hoge beschikbaarheid, schaalbaarheid en consistente prestaties in GO-Global-implementaties. Of u nu een oplossing van een derde partij gebruikt voor grootschalige omgevingen of een GO-Global Relay Load Balancer voor kleinere implementaties, een juiste configuratie zorgt voor een efficiënte sessieverdeling en vereenvoudigd beheer.
Door de configuratiestappen en best practices in dit artikel te volgen, kunnen beheerders betrouwbare, veilige en krachtige GO-Global-systemen onderhouden die honderden of zelfs duizenden gelijktijdige gebruikers kunnen ondersteunen.
Bent u een ISV die de levering van toepassingen in de cloud onderzoekt? Neem contact met ons op om te ontdekken hoe GO-Global u kan helpen de toegang tot software voor uw eindgebruikers te stroomlijnen. Of download een gratis proefversie om het zelf te testen.
