Moderní víceprocesový model

V tradiční (dosavadní) architektuře serverových systémů se aplikační server skládal z jednoho procesu a mnoha vláken. Jediným procesem mohl být spustitelný soubor nebo pracovní proces ISAPI, Apache nebo případně služba systému Windows. Ve všech těchto případech byly všechny relace v jednom procesu a k vyřízení příchozích požadavků bylo použito několik vláken stejného procesu.

Architektura HyperServer mění výše uvedený model a zavádí jej do víceprocesového a vícevláknového modelu. V tomto novém modelu je spuštěno několik pracovních procesů, které podporují stejnou webovou aplikaci. Relace jsou rozděleny mezi pracovní procesy a v závislosti na konfiguraci může pro stejnou weblikaci vzniknout / existovat více pracovních procesů. Pracovní procesy jsou řízeny a koordinovány jiným procesem, kterým je ve skutečnosti samotný HyperServer.

Vstupní bod

HyperServer bude hlavním vstupním bodem pro všechny příchozí požadavky. Přijímá všechny požadavky a rozděluje je mezi pracovní procesy.

Správa uzlů

HyperServer je zodpovědný za vytváření nowych pracovních procesů (uzlů), když je to potřeba, a jejich opětovné zpracování.

Směrování relací

Protože relace HIT4B3 jsou stavové, HyperServer směruje příchozí požadavky na správný pracovní proces, který vytvořil danou relaci.

Zlepšení stability a výkonu

Použitá architektura HyperServer má za cíl drasticky zlepšit stabilitu. HyperServer tohoto cíle dosahuje implementací různých mechanismů: existuje interní vyvažování zátěže a recyklace uzlů. Vyvažování zátěže rozděluje celkové zatížení serveru mezi uzly.

Recyklace uzlů zkracuje životní cyklus uzlů jejich recyklací na základě předem definovaných pravidel. Recyklace zajišťuje, že uzly budou v paměťovém prostoru procesu pouze po určenou dobu. Na rozdíl od klasického modelu, který udržuje proces aplikačního serveru v paměti neomezeně dlouho.

Hlavním úkolem HyperServeru je zajistit, aby celý aplikační server neselhal v důsledku vady paměti nebo jiného problému v uzlu (Node).


Struktura systému

Architektura HyperServer je rozdělena na dvě základní části:

  • Spustitelný soubor HyperServer - vstupní bod pro webovou aplikaci, obsluhující požadavky klientů.
  • Cluster uzlů - komponentní weblikace HIT4B3 (např. EKAIZEN).

Vzdálené nasazení a kontinuita práce

Další funkcí HyperServeru je možnost vzdáleného nasazení nových verzí weblikací bez nutnosti zastavení serveru. To zajišťuje kontinuitu práce v modelu 24/7/365.

Novou verzi weblikace lze nahrát na dálku a HyperServer bude postupně a automatycky aktualizovat uzly. Nové relace budou směřovány do nové verze a staré uzly budou odstraněny, jakmile budou odhlášeny všechny jejich relace.

Přidáme-li k tomu vrstvu přístupu k datům, realizovanou pomocí databázového serveru ve standardu SQL (v naší implementaci je to Firebird Database Server), získáme úplný obraz architektury celého systému HIT4B3.