Puncte:3

Cum să opriți serviciul A dacă serviciul B se blochează sau se oprește

drapel cn

Folosind system-d: Am 2 servicii (Service A și Service B). Serviciul B are nevoie de serviciul A pentru a fi mereu în funcțiune.Dacă serviciul A se blochează sau este oprit, serviciul B ar trebui, de asemenea, oprit imediat până când serviciul A este restabilit (moment în care serviciul B ar trebui să pornească automat de rezervă). Există o directivă care poate fi introdusă în fișierele unitare system.d pentru a forța acest tip de relație?

Exemple de cazuri de utilizare:

# 1 Nginx și mariaDB

Nginx are întotdeauna nevoie de Maria pentru a alerga. Nu vreau ca clienții să se lovească de un server web care nu are back-end DB. Dacă Maria se prăbușește, vreau ca nginx să se închidă imediat. În cazul în care serviciul este restabilit la Maria, vreau ca nginx să revină la viață fără a fi nevoie să reporniți manual procesul nginx. Prin urmare, dacă există o întrerupere sporadică și temporară a mariei, nginx nu deservește cererile proaste și lăsăm doar alte noduri din cluster să gestioneze cererea web.

#2 Openvpn și crawler web

Serviciul de crawler web depinde de VPN deschis. Ar fi rău să ruleze webcrawler fără să ruleze și vpn. Dacă serviciul client openvpn este oprit, vreau ca webcrawler-ul să se oprească și automat. Dacă openvpn este restaurat, vreau ca webcrawler-ul să înceapă să funcționeze din nou fără a fi nevoie să fie pornit manual.

drapel in
În ceea ce privește primul exemplu, ar fi un 503 mai bun decât un 500 din perspectiva unui client? Un 503 ar fi un mesaj prost din browser care spune că site-ul web nu există. Un 500 ar putea fi capturat de aplicație pentru a arăta o „balenă eșuată” sau ceva de genul ăsta permițând oamenilor să știe că site-ul există, dar are câteva probleme...
bac0n avatar
drapel cn
Înrudit: [Diferența dintre PartOf și BindsTo](https://pychao.com/2021/02/24/difference-between-partof-and-bindsto-in-a-systemd-unit/)
drapel in
În plus față de articolul postat de @bac0n, poate doriți să vă uitați la modificarea fișierelor `.service` pentru ca aplicațiile să aibă configurat `Restart=on-failure`. Acest lucru va asigura că serviciile sunt repornite automat în cazul unei erori debilitante.
bac0n avatar
drapel cn
pe #2, sugerez să utilizați integrarea proprie a scripturilor openvpn.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.