Uso xinetd e funziona per i miei scopi. Tuttavia, di recente ho scoperto che systemd ha qualcosa integrato chiamato "attivazione socket".
Questi due sembrano molto simili, ma systemd è "ufficiale" e sembra la scelta migliore.
Comunque prima di usarlo, sono davvero gli stessi? Ci sono differenze di cui dovrei essere a conoscenza?
Ad esempio, voglio avviare alcuni servizi dockerizzati solo quando vengono richiesti per la prima volta:il mio primo pensiero sarebbe quello di utilizzare xinetd. Ma l'attivazione del socket è migliore/più veloce/più stabile/qualunque cosa?
Risposta accettata:
Non credo che l'attivazione del socket systemd sia significativamente migliore di xinetd attivazione, se considerata isolatamente; anche quest'ultimo è stabile ed è in circolazione da più tempo. L'attivazione del socket è davvero interessante per il disaccoppiamento dei servizi:consente di avviare i servizi in parallelo, anche se devono comunicare, e consente di riavviare i servizi in modo indipendente.
Se hai un servizio che supporta xinetd -style activation, può essere utilizzato con l'attivazione del socket:a .socket descrizione con Accept=true si comporterà allo stesso modo di xinetd . Avrai anche bisogno di un .service file per descrivere il servizio. Tutti i vantaggi dell'attivazione del socket systemd richiedono il supporto nel demone che fornisce il servizio. Vedi il post del blog sull'argomento.
Il mio consiglio tende ad essere "se non è rotto, non aggiustarlo", ma se vuoi convertire un xinetd il servizio basato su systemd è certamente fattibile.