Saya menggunakan xinetd
dan itu berfungsi untuk tujuan saya. Namun saya baru-baru ini menemukan bahwa systemd memiliki sesuatu yang disebut "aktivasi soket".
Keduanya tampak sangat mirip, tetapi systemd adalah "resmi" dan sepertinya pilihan yang lebih baik.
Namun sebelum menggunakannya, apakah benar-benar sama? Apakah ada perbedaan yang harus saya ketahui?
Sebagai contoh, saya ingin memulai beberapa layanan dockerised hanya ketika mereka pertama kali diminta – pikiran pertama saya adalah menggunakan xinetd. Tetapi apakah aktivasi soket lebih baik / lebih cepat / lebih stabil / apa pun?
Jawaban yang Diterima:
Saya tidak berpikir aktivasi soket systemd secara signifikan lebih baik daripada xinetd
aktivasi, jika dipertimbangkan secara terpisah; yang terakhir juga stabil dan sudah ada lebih lama. Aktivasi soket sangat menarik untuk pemisahan layanan:memungkinkan layanan dimulai secara paralel, bahkan jika mereka perlu berkomunikasi, dan memungkinkan layanan dimulai ulang secara independen.
Jika Anda memiliki layanan yang mendukung xinetd
-gaya aktivasi, dapat digunakan dengan aktivasi soket:.socket
deskripsi dengan Accept=true
akan berperilaku dengan cara yang sama seperti xinetd
. Anda juga memerlukan .service
file untuk menggambarkan layanan. Manfaat penuh dari aktivasi soket systemd memerlukan dukungan di demon yang menyediakan layanan. Lihat entri blog tentang topik tersebut.
Saran saya cenderung "jika tidak rusak, jangan perbaiki", tetapi jika Anda ingin mengonversi xinetd
-layanan berbasis systemd itu pasti layak.