พุ่งพรวดและผู้ดูแลใช้สำหรับสิ่งเดียวกันหรือไม่


13

ฉันมีกระบวนการที่ใช้ jvm ซึ่งฉันต้องแน่ใจว่าจะเริ่มต้นเมื่อใดก็ตามที่เซิร์ฟเวอร์ของฉันรีบูตและถ้ามันหยุดเพราะข้อผิดพลาดที่ไม่คาดคิด ฯลฯ

ฉันใช้งาน Ubuntu 12.04 ในกรณีที่มีปัญหา

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

พวกเขาจะใช้เพื่อวัตถุประสงค์เดียวกันหรือมีความแตกต่างในการทำงาน?

คำตอบ:


12

แตกต่างก็คือคนธรรมดาจะเปลี่ยน init ขณะ supervisord Process Control Systemเป็น คำอธิบายนี้มีให้ในไซต์ supervisord :

มันแบ่งปันเป้าหมายเดียวกันของโปรแกรมเช่น launchd, daemontools และ runit แตกต่างจากบางส่วนของโปรแกรมเหล่านี้มันไม่ได้หมายความว่าจะเรียกใช้แทนสำหรับ init เป็น "กระบวนการ id 1" แต่มันถูกใช้เพื่อควบคุมกระบวนการที่เกี่ยวข้องกับโครงการหรือลูกค้าและมีจุดมุ่งหมายเพื่อเริ่มต้นเหมือนโปรแกรมอื่น ๆ ในเวลาบูต

ซึ่งหมายความว่า supervisord เองจะเริ่มต้นด้วยการพุ่งพรวดไม่ว่าจะเป็นไฟล์งานพุ่งพรวดหรือสคริปต์เริ่มต้น sysV โดยส่วนตัวแล้วฉันได้เลือกใช้ตัวจัดการกระบวนการมากกว่าเริ่มต้นธรรมดาด้วยเหตุผลดังต่อไปนี้:

  1. บริการไม่ daemonize อย่างถูกต้อง
  2. เป็นที่ทราบกันดีว่าบริการจำเป็นต้องได้รับการตรวจสอบและเริ่มต้นใหม่

ตัวอย่างของโปรแกรมที่ไม่ถูกต้อง daemonizing คือเมื่อมันไม่ปิด stdout และ stderr และยังคงเขียนข้อมูลไปยังตำแหน่งเหล่านั้น Supervisord สามารถจัดการการบันทึกของเอาต์พุตนั้น


ฉันเห็นไม่แน่ใจว่าฉันเข้าใจอย่างถ่องแท้ แต่ฉันคิดว่าคนธรรมดาสามารถรีสตาร์ตกระบวนการถ้ามันล้มเหลว
Blankman

@Blankman ผมคิดว่ามีเหตุผลแม้แต่น้อยกับระบบ init ทันสมัย
jordanm

ฉันทราบว่าโซลูชันที่เหมาะสมสำหรับบริการที่ไม่ถูกต้อง daemonizes จะแก้ไขข้อผิดพลาดด้วยบริการดังกล่าวที่ทำให้ไม่ daemonize อย่างถูกต้อง ฉันจะให้บางอย่างเช่น supervisord จะมีประโยชน์สำหรับ # 2
Shadur

1
@shadur ฉันไม่เห็นด้วยนั่นเป็นทางออกที่ดีที่สุด คุณอาจไม่ได้เป็นเจ้าของกระบวนการดังนั้นคุณจึงไม่สามารถแก้ไขได้ แม้ว่าคุณจะสามารถแก้ไขได้ไม่ว่าจะมีข้อบกพร่องกี่ข้อที่คุณแก้ไขคุณไม่สามารถรู้ได้ว่าไม่มีการดักฟังมากขึ้นและหลายปีต่อมากระบวนการของคุณจะตายอีกครั้งในการผลิตเนื่องจากสถานการณ์บางอย่างที่ไม่เคยสัมผัสมาก่อน ก่อนเช่นสภาพเครือข่ายหรือฐานข้อมูลผิดปกติ คุณต้องการให้เว็บไซต์ของคุณอยู่ในสถานะออฟไลน์สร้างความรำคาญแก่ผู้ใช้และคิดเงินคุณไหม ไม่คุณต้องมีเครื่องมือในการเริ่มบริการใหม่ ระยะเวลา
Jonathan Hartley
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.