9.易處理

IX. 易處理

快速啟動(dòng)和優(yōu)雅終止可最大化健壯性

12-Factor 應(yīng)用的 進(jìn)程易處理(disposable)的,意思是說(shuō)它們可以瞬間開(kāi)啟或停止。 這有利于快速、彈性的伸縮應(yīng)用,迅速部署變化的 代碼配置 ,穩(wěn)健的部署應(yīng)用。

進(jìn)程應(yīng)當(dāng)追求 最小啟動(dòng)時(shí)間 。 理想狀態(tài)下,進(jìn)程從敲下命令到真正啟動(dòng)并等待請(qǐng)求的時(shí)間應(yīng)該只需很短的時(shí)間。更少的啟動(dòng)時(shí)間提供了更敏捷的 發(fā)布 以及擴(kuò)展過(guò)程,此外還增加了健壯性,因?yàn)檫M(jìn)程管理器可以在授權(quán)情形下容易的將進(jìn)程搬到新的物理機(jī)器上。

進(jìn)程 一旦接收 終止信號(hào)(SIGTERM 就會(huì)優(yōu)雅的終止 。就網(wǎng)絡(luò)進(jìn)程而言,優(yōu)雅終止是指停止監(jiān)聽(tīng)服務(wù)的端口,即拒絕所有新的請(qǐng)求,并繼續(xù)執(zhí)行當(dāng)前已接收的請(qǐng)求,然后退出。此類型的進(jìn)程所隱含的要求是HTTP請(qǐng)求大多都很短(不會(huì)超過(guò)幾秒鐘),而在長(zhǎng)時(shí)間輪詢中,客戶端在丟失連接后應(yīng)該馬上嘗試重連。

對(duì)于 worker 進(jìn)程來(lái)說(shuō),優(yōu)雅終止是指將當(dāng)前任務(wù)退回隊(duì)列。例如,RabbitMQ 中,worker 可以發(fā)送一個(gè)NACK信號(hào)。 Beanstalkd 中,任務(wù)終止并退回隊(duì)列會(huì)在worker斷開(kāi)時(shí)自動(dòng)觸發(fā)。有鎖機(jī)制的系統(tǒng)諸如 Delayed Job 則需要確定釋放了系統(tǒng)資源。此類型的進(jìn)程所隱含的要求是,任務(wù)都應(yīng)該 可重復(fù)執(zhí)行 , 這主要由將結(jié)果包裝進(jìn)事務(wù)或是使重復(fù)操作 冪等 來(lái)實(shí)現(xiàn)。

進(jìn)程還應(yīng)當(dāng)在面對(duì)突然死亡時(shí)保持健壯,例如底層硬件故障。雖然這種情況比起優(yōu)雅終止來(lái)說(shuō)少之又少,但終究有可能發(fā)生。一種推薦的方式是使用一個(gè)健壯的后端隊(duì)列,例如 Beanstalkd ,它可以在客戶端斷開(kāi)或超時(shí)后自動(dòng)退回任務(wù)。無(wú)論如何,12-Factor 應(yīng)用都應(yīng)該可以設(shè)計(jì)能夠應(yīng)對(duì)意外的、不優(yōu)雅的終結(jié)。Crash-only design 將這種概念轉(zhuǎn)化為 合乎邏輯的理論。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 云原生概念12個(gè)因素 簡(jiǎn)介 如今,軟件通常會(huì)作為一種服務(wù)來(lái)交付,它們被稱為網(wǎng)絡(luò)應(yīng)用程序,或軟件即服務(wù)(SaaS)。...
    若與閱讀 1,306評(píng)論 0 8
  • 快速啟動(dòng)和優(yōu)雅終止可最大化健壯性 12-Factor 應(yīng)用的進(jìn)程是易處理(disposable)的,意思是說(shuō)它們可...
    低至一折起閱讀 413評(píng)論 0 1
  • 必備的理論基礎(chǔ) 1.操作系統(tǒng)作用: 隱藏丑陋復(fù)雜的硬件接口,提供良好的抽象接口。 管理調(diào)度進(jìn)程,并將多個(gè)進(jìn)程對(duì)硬件...
    drfung閱讀 3,757評(píng)論 0 5
  • 文/tangsl(簡(jiǎn)書作者) 原文鏈接:http://www.itdecent.cn/p/2b993a4b913e...
    西葫蘆炒胖子閱讀 3,943評(píng)論 0 5
  • 今天,終于為公司解決了一個(gè)問(wèn)題。很欣慰,體現(xiàn)了自己的價(jià)值。晚上聽(tīng)聽(tīng)音樂(lè),很舒服,難得的時(shí)間。很艱難,但是,我這次并...
    落日之風(fēng)閱讀 233評(píng)論 0 0

友情鏈接更多精彩內(nèi)容