Platforma HIT4B3 - Architektura
Seznamte se s revoluční architekturou platformy HIT4B3
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.