Yo uso xinetd
y funciona para mis propósitos. Sin embargo, recientemente descubrí que systemd tiene algo integrado llamado "activación de socket".
Estos dos parecen muy similares, pero systemd es "oficial" y parece ser la mejor opción.
Sin embargo, antes de usarlo, ¿son realmente iguales? ¿Hay diferencias que deba tener en cuenta?
Por ejemplo, quiero iniciar algunos servicios dockerizados solo cuando se solicitan por primera vez; mi primer pensamiento sería usar xinetd. Pero, ¿la activación del socket es mejor/más rápida/más estable/lo que sea?
Respuesta aceptada:
No creo que la activación de socket systemd sea significativamente mejor que xinetd
activación, cuando se considera aisladamente; el último también es estable y ha existido por más tiempo. La activación de sockets es realmente interesante para el desacoplamiento de servicios:permite que los servicios se inicien en paralelo, incluso si necesitan comunicarse, y permite reiniciar los servicios de forma independiente.
Si tiene un servicio compatible con xinetd
Activación de estilo, se puede usar con activación de socket:a .socket
descripción con Accept=true
se comportará de la misma manera que xinetd
. También necesitarás un .service
archivo para describir el servicio. Los beneficios completos de la activación de socket systemd requieren soporte en el demonio que proporciona el servicio. Consulte la entrada de blog sobre el tema.
Mi consejo tiende a ser "si no está roto, no lo arregles", pero si quieres convertir un xinetd
El servicio basado en systemd es ciertamente factible.