Distribuované řízení zátěže

Rozšiřte funkčnost a zvyšte výkon FIS Profile najednou.

Distribuovaný správce zátěže (zkráceně DEX z ang. Distributed Execution Module) je rozšíření FIS Profile, které umožňuje asynchronní vykonávání předdefinovaných úloh jako jsou reporty, SQL dotazy, funkce nebo shell skripty. Dávkové zpracování může být použito pro jedno nebo více Profile prostředí, kde mohou být jednotlivé úkoly vykonávány na odlišném uzlu (databázi) než je primární Profile server. 

Hlavní výhody DEX:

  • pohodlné a flexibilní zpracování reportů Profile přímo z uživatelského prostředí včetně WebCSR
  • ochrana proti přetížení - u každého prostředí, které je připojeno, je možné definovat max. limit úkolů, které jsou zpracovávány paralelně
  • ovládání výkonu (load-balancing) - zpracování může být rozděleno mezi několik prostředí nebo serverů
  • uživatelský komfort - zpracování (např. reporty) je možné spouštět interaktivně z uživatelského prostředí (front-end) jako WebCSR
  • "bezešvá" integrace replik Profile a ostatních systémů

DEX je ověřený produkt běžící v ostrém produkčním provozu dvou bank, kde DEX bezchybně generuje několik set tisíc reportů měsíčně, 95% z nich do méně než 5 sekund. 

Ochrana proti přetížení

V každém prostředí Profile, které je používané jako databáze (uzel) pro DEX, jsou jednotlivé úkoly vykonávány tak, aby nedošlo k překročení předefinovaného limitu zátěže. Limit může být definován na každé databázi (uzlu) zvlášť nebo může být tato hodnota dynamicky měněna, například během denního nebo nočního zpracování. I když je používána jen jedna instance Profile, dává smysl používat DEX jako ochranu proti přetížení se schopností růstu, v případě potřeby, na zpracování více úkolů ve více prostředích.

Integrace tisku reportů do uživatelského rozhraní

Pro snadnou integraci interaktivních reportů do WebCSR nebo jiných rozhraní je v dodávce balík vzdálených volání Profile a příslušné knihovny v jazyce JAVA. Na přání je možné portovat knihovny i do jiných programovacích jazyků. 

Řízení výkonu (load-balancing) a rozdělení úkolů

DEX ukládá odeslané úkoly do jediné fronty v primárním prostředí Profile. Jakmile jsou zařazeny do fronty, jsou úkoly prováděny v režimu "kdo dřív přijde, ted dřív bere" buď na primární databázi (uzlu), nebo na libovolném počtu připojených prostředí, obvykle replik Profile. Cílem je snížit zatížení primárního prostředí a využít prostředky přidělené replikám. Po dokončení úlohy je výsledek uložen do fronty úloh. V tuto chvíli není implementováno žádné aktivní oznámení.

Možnosti úkolů vs počet databází (uzlů)

DEX umožňuje provádět úkoly v různých prostředích, než jen v jednoduchých klonech primárního prostředí Profile. Umožňuje například snadnou integraci různých verzí Profile nebo archivních databází obsahujích archivy Profile, které nejsou k dispozici na primárním serveru. Úkoly jsou prováděny pouze v prostředí, které splňuje všechny podmínky k jejich úspěšnému provedení. Některé sestavy tak například mohou vyžadovat spuštění pouze na primární instanci (protože potřebují přístup pro čtení a zápis do databáze), zatímco spouštění jiných lze omezit pouze na sekundární uzel kvůli dlouhým běhovým časům nebo omezení výkonu.