xinetd
を使用しています そしてそれは私の目的のために働きます。しかし、最近、systemdに「ソケットアクティベーション」と呼ばれるものが組み込まれていることを発見しました。
これら2つは非常に似ているように見えますが、systemdは「公式」であり、より適切な選択のようです。
しかし、それを使用する前に、それらは本当に同じですか?知っておくべき違いはありますか?
たとえば、ドッキングされたサービスを最初に要求されたときにのみ開始したいのですが、最初に考えたのはxinetdを使用することです。しかし、ソケットのアクティブ化はより良い/より速い/より安定した/何でもありますか?
承認された回答:
systemdソケットのアクティブ化がxinetd
よりも大幅に優れているとは思いません 単独で検討した場合のアクティベーション。後者も安定していて、ずっと前から存在しています。ソケットのアクティブ化は、サービスの分離にとって非常に興味深いものです。これにより、通信が必要な場合でもサービスを並行して開始でき、サービスを個別に再起動できます。
xinetd
をサポートするサービスがある場合 -スタイルのアクティベーション。ソケットアクティベーションで使用できます:.socket
Accept=true
の説明 xinetd
と同じように動作します 。 .service
も必要です サービスを説明するファイル。 systemdソケットアクティベーションの完全な利点には、サービスを提供するデーモンのサポートが必要です。このトピックに関するブログ投稿を参照してください。
私のアドバイスは「壊れていない場合は修正しないでください」という傾向がありますが、xinetd
を変換したい場合は systemdへのベースのサービスは確かに実現可能です。