Score:3

วิธีทำให้บริการ A หยุดทำงานหากบริการ B ขัดข้องหรือหยุดทำงาน

ธง cn

ใช้ system-d: ฉันมี 2 บริการ (บริการ A และบริการ B) บริการ B ต้องการบริการ A เพื่อให้ทำงานตลอดเวลาหากบริการ A หยุดทำงานหรือหยุดทำงาน บริการ B ควรหยุดทันทีจนกว่าบริการ A จะได้รับการกู้คืน (ณ เวลาที่บริการ B ควรเริ่มสำรองข้อมูลโดยอัตโนมัติ) มีคำสั่งที่สามารถใส่ลงในไฟล์ system.d unit เพื่อบังคับความสัมพันธ์ประเภทนี้หรือไม่?

ใช้กรณีตัวอย่าง:

#1 Nginx และ mariaDB

Nginx ต้องการให้มาเรียทำงานเสมอ ฉันไม่ต้องการให้ลูกค้าชนกับเว็บเซิร์ฟเวอร์ที่ไม่มี DB back-end หาก Maria ขัดข้อง ฉันต้องการให้ nginx ปิดเครื่องทันที หากมีการคืนค่าบริการกลับเป็น maria ฉันต้องการให้ nginx กลับมามีชีวิตอีกครั้งโดยไม่ต้องรีสตาร์ทกระบวนการ nginx ด้วยตนเอง ดังนั้นหากมีการขัดจังหวะเป็นระยะ ๆ และชั่วคราวกับ maria nginx จะไม่ให้บริการคำขอที่ไม่ถูกต้องและปล่อยให้โหนดอื่น ๆ ในคลัสเตอร์จัดการกับคำขอเว็บ

#2 Openvpn และโปรแกรมรวบรวมข้อมูลเว็บ

บริการรวบรวมข้อมูลเว็บขึ้นอยู่กับ VPN แบบเปิด คงเป็นเรื่องไม่ดีหากให้โปรแกรมรวบรวมข้อมูลเว็บทำงานโดยไม่มี VPN ทำงานอยู่ด้วย หากบริการไคลเอ็นต์ openvpn หยุดทำงาน ฉันต้องการให้โปรแกรมรวบรวมข้อมูลเว็บหยุดโดยอัตโนมัติเช่นกัน หาก openvpn ได้รับการกู้คืน ฉันต้องการให้โปรแกรมรวบรวมข้อมูลเว็บเริ่มทำงานอีกครั้งโดยไม่จำเป็นต้องเริ่มต้นด้วยตนเอง

in flag
จากตัวอย่างแรก 503 จะดีกว่า 500 จากมุมมองของลูกค้าหรือไม่ 503 จะเป็นข้อความที่ไม่ดีจากเบราว์เซอร์ที่บอกว่าไม่มีเว็บไซต์อยู่ แอปพลิเคชั่นสามารถจับภาพ 500 ตัวเพื่อแสดง "วาฬล้มเหลว" หรืออะไรทำนองนั้นเพื่อให้ผู้คนรู้ว่าไซต์นั้นมีอยู่จริง แต่กำลังมีปัญหาเล็กน้อย ...
bac0n avatar
cn flag
ที่เกี่ยวข้อง: [ความแตกต่างระหว่าง PartOf และ BindsTo](https://pychao.com/2021/02/24/difference-between-partof-and-bindsto-in-a-systemd-unit/)
in flag
นอกจากบทความที่โพสต์โดย @bac0n แล้ว คุณอาจต้องการดูการแก้ไขไฟล์ `.service` เพื่อให้แอปพลิเคชันมีการกำหนดค่า `Restart=on-failure` สิ่งนี้จะช่วยให้แน่ใจว่าบริการจะเริ่มต้นใหม่โดยอัตโนมัติในกรณีที่เกิดข้อผิดพลาดที่ทำให้สุขภาพทรุดโทรม
bac0n avatar
cn flag
ใน #2 ฉันแนะนำให้ใช้การรวมสคริปต์ของ openvpn เอง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา