Úvod
Akceptory jsou malé programy, jež mají za úkol shromažďovat data pro aplikaci Altworx. Tyto programy je možné nakonfigurovat tak, aby sbíraly specifická data, tzn. že úlohy jednotlivých akceptorů se mohou lišit a sloužit pro konkrétní účel.
Akceptory jsou navrženy jako samostatné jednotky. Fungují odděleně od systému Altworx. Mohou tedy samostatně pracovat i v době jeho výpadku, nebo v případě že je právě aktualizován. Akceptory ukládají shromážděná data do uložiště v systému Apache Kafka. Toto uložiště je perzistentní. Uchovává informace i při vypnutí nebo restartování systému. Data jsou touto funkcí chráněna před neplánovanými výpadky.
Systém Altworx je v souladu s touto ochranou nastaven tak, aby dokázal zpracovat data zpětně i z doby, kdy nebyl spuštěn. Ani další výpadek Altworxu tak nemusí mít negativní dopad pro finální zpracování dat.
Akceptory mohou mít PULL nebo PUSH variantu:
PULL akceptory žádají o data v předefinovaných obdobích. Takovým akceptorem může být např. databázový akceptor. Databáze je pasivním zdrojem, tudíž neupozorňuje sama na změny. Kdežto akceptor už je aktivní prvek, na změny se doptává automaticky.
PUSH akceptory fungují tak, že čekají, až jim data budou dodána externím zdrojem či zdroji. Takovým akceptorem může být např. Syslog akceptor. Události do něj přicházejí z jiných systémů prostřednictvím sítě kdykoliv. PULL i PUSH akceptory mají své výhody i nevýhody. To, který z typů akceptorů by měl být použit, závisí především na použitých technologiích. Zřídkakdy zdroj podporuje oba typy akceptorů. PUSH akceptor má tu výhodu, že si nemusíte vyžadovat data. Jakmile akceptor přijme událost, zpracuje ji a pošle vám ji. Tento akceptor bývá také jednodušší pro návrh a implementaci.
Akceptory zapisují data do uložiště v co nejoriginálnějším formátu. Zprávy by neměly upravovat více, než je nutné. Neměly by je ani filtrovat a odesílat pouze jejich vybrané části. Požadavky na formát nebo výběr dat by se totiž v budoucnu mohly měnit. Filtrováním dat by některé údaje mohly být natrvalo ztraceny a při změně požadavků by byla tato data již nedohledatelná. Z tohoto důvodu je nejvýhodnější data ponechat v co nejsurovější podobě.
K omezování dat, které skutečně nepotřebujete nebo zcela jistě víte, že je pro další zpracování nechcete, můžete využít uložiště. Uložiště Kafka je nejen perzistentní, jak bylo uvedeno výše, ale má i schopnost retence. Kafku lze v takovém případě nastavit tak, aby staré zprávy zahazovala nebo aby data rotovala tak, že nepřekročí stanovenou velikost.