systemd.unit(5) のマニュアルページから:
systemdはユニット間の柔軟な依存関係システムを提供しますが、この機能を慎重に使用することをお勧めします。代わりに、バスベースまたはソケットベースのアクティブ化などの技術を使用して依存関係を暗黙的に作成し、より簡単で柔軟にすることをお勧めします。システム。
人々がsystemdを採用する理由は、仕事をよりシンプルで柔軟にするためだと思います。今、systemdは同意しません。私は非常に深刻なメールを受け取りました。
答え1
この推奨事項は、以下を奨励するためのものです。
よりシンプルで柔軟なシステム
さらに依存関係を使用するよりも。
依存関係は有用ですが、明示的な依存関係が多すぎると、独自の制約が発生します。たとえば、依存関係グラフでサイクルを確認する必要があります。明示的な依存関係は強力な順序制約をもたらし得る。
ローカルデータベースを必要とするWebアプリケーションがあるとします。これを表すために明示的な依存関係を使用できます。つまり、Webアプリケーションが起動する前にデータベースを起動する必要があります。ソケットベースのアクティブ化を使用してそれを表現することもできます。データベースはソケットでリッスンするため、そのソケットへのすべてのアクセスはデータベース起動要求と見なすことができます(まだ実行されていない場合)。ソケットベースのアクティベーションを使用することは、Webアプリケーションのサービス記述がデータベースへの依存関係を知る必要がなく、サービス管理者がWebアプリケーションを起動する前にデータベースが起動するのを待つ必要がないことを意味します。