我正試圖設計一個彈性和高度可用的python API後端服務。核心服務旨在持續運行。該服務必須爲每個租戶獨立運行。這是必需的,因爲核心服務是阻塞服務,每個租戶的執行都需要獨立於任何其他租戶的服務。如何在python中設計一個彈性和高度可用的服務?
核心服務將由供應服務啓動。供應商也是一個連續運行的服務,並負責管理房屋的功能,即啓動租戶註冊核心服務,檢查所需的環境和屬性,並停止核心服務等。
當前我正在使用multiprocessing
模塊從供應商服務產生核心服務的子實例。爲每個租戶使用一個線程的多線程服務也是一種選擇,但是如果任何線程出現問題,則會出現其他租戶的服務中斷的缺點。理想情況下,我希望所有這些都作爲後臺進程運行。這些問題是
如果我守護進程置備服務,
multiprocessing
不會讓這種服務創建子進程。這是寫here如果提供者服務死亡,那麼所有的孩子將成爲孤兒。我該如何迴避這種情況。
顯然,我很樂意接受不遵循此multiprocessing
使用模式的解決方案。
這不是我想要的。說明明確指出,子女不能退出 – auny