Používám xinetd
a pro mé účely to funguje. Nedávno jsem však zjistil, že systemd má vestavěno něco, co se nazývá „aktivace zásuvky“.
Tyto dva se zdají velmi podobné, ale systemd je „oficiální“ a zdá se být lepší volbou.
Jsou však před použitím skutečně stejné? Existují rozdíly, kterých bych si měl být vědom?
Například chci spustit některé dockerizované služby pouze tehdy, když jsou poprvé požadovány – moje první myšlenka by byla použít xinetd. Je ale aktivace socketu lepší/rychlejší/stabilnější/jakákoli?
Přijatá odpověď:
Nemyslím si, že aktivace systemd socketu je výrazně lepší než xinetd
aktivace, pokud je posuzována izolovaně; druhý je také stabilní a existuje déle. Aktivace soketu je opravdu zajímavá pro oddělení služeb:umožňuje spouštění služeb paralelně, i když potřebují komunikovat, a umožňuje nezávislé restartování služeb.
Pokud máte službu, která podporuje xinetd
-styl aktivace, lze ji použít s aktivací soketu:a .socket
popis s Accept=true
se bude chovat stejně jako xinetd
. Budete také potřebovat .service
soubor popisující službu. Plné výhody aktivace systemd socketu vyžadují podporu v démonovi poskytujícím službu. Podívejte se na blogový příspěvek na toto téma.
Moje rada bývá „pokud to není rozbité, neopravujte to“, ale pokud chcete převést xinetd
služba založená na systemd je určitě proveditelná.