Book Contents

Book Index

Load Balancer

Book Contents

Book Index

Úvod

Load Balancer je prvkem architektury K2, který lze využít pro rozdělení zátěže mezi více aplikačních serverů. K2 API má tak možnost připojení na více aplikačních serverů současně. Při zasílání požadavku se nejdříve vyhodnotí nejméně vytížený server a ten dostane požadavek ke zpracování.

LoadBalancer.gif

Obr.: Load Balancer a K2 API

Příklad použití Load Balancer a K2 API:

K2 API přijme požadavek ke zpracování. Pro nejrychlejší zpracování požadavku je osloven Load Balancer. Load Balancer odešle požadavek na všechny AS a zjistí jejich současnou vytíženost. Vyhodnotí nejméně vytížený server a tuto informaci předá K2 API. K2 API tak pošle požadavek rovnou přes vybraný aplikační server Load Balancerem.

LoadBalancer lze také využít pro webovou K2, která při přihlášení uživatele najde nejvhodnější aplikační server a na něj uživatele připojí.

LoadBalancer1.gif

Obr.: Load Balancer a Webová K2

Příklad použití Load Balancer a webová K2:

Webová K2 přijme požadavek na přihlášení uživatele. Aby byl požadavek co nejrychleji zpracován, osloví webová K2 Load Balancer. Ten odešle požadavek na všechny AS a zjistí jejich současnou vytíženost. Informaci o nejméně vytíženém serveru předá webové K2. Webová K2 nejlépe vyhodnocený server využije a dojde tak k nejrychlejšímu zpracování požadavku na přihlášení uživatele. Každý další požadavek daného uživatele už zpracovává konkrétní zvolený AS.

Každá instalace K2 API a webové K2 má vlastní Load Balancer. V instalaci lze tak nastavit konkrétní seznam aplikačních serverů i konfiguraci Load Balanceru, kterou můžeme ovlivnit algoritmus výběru vhodného aplikačního serveru.

Load Balancer vyhodnocuje nejvhodnější aplikační server pro zpracování požadavku ve dvou režimech:

  1. Načtení a vyhodnocení nejlepšího AS před každým požadavkem na spojení (preLoadingEnabled=false)
    • Před každým požadavkem na vytvoření connection se obešlou aplikační servery s požadavkem na jejich statistiky, ty se zpracují a vyhodnotí. Pro daný požadavek se poté použije nejvhodnější AS.
  2. Načtení a vyhodnocení nejlepšího AS průběžně (preLoadingEnabled=true)
    • V určeném časovém intervalu se načítají statistiky a vyhodnocuje se nejlepší AS. Každý požadavek na connection se vyhodnotí na základě předpočítaného výsledku statistik.

Book Contents

Book Index

Parametry Load Balanceru

Pokud se v kterémkoliv režimu nespojí Load Balancer s AS v požadovaném časovém intervalu, nebo AS v zadaném čase nedodá statistiky, je pro daný průchod AS z vyhodnocení vyřazen. V dalším průchodu se Load Balancer opět bude pokoušet s daným AS spojit.