在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  Linux/ java的web服務(wù)升級(jí)時(shí),怎么保證進(jìn)行中請(qǐng)求可以正常完成?

java的web服務(wù)升級(jí)時(shí),怎么保證進(jìn)行中請(qǐng)求可以正常完成?

linux上部署java的web服務(wù),某次在停服務(wù)(kill -9 XXXX)升級(jí)新版本的時(shí)候,有些沒有處理完的的請(qǐng)求被中止了,尤其是一些寫數(shù)據(jù)庫的操作。
有沒有什么方案可以讓當(dāng)前的請(qǐng)求順利完成之后再停服務(wù)?

注:服務(wù)版本升級(jí)操作步驟

  1. 停止老版本的服務(wù)(kill -9 xxxxx)
  2. 啟動(dòng)新的服務(wù)。
回答
編輯回答
陪妳哭

web服務(wù)器都有正常停止功能,你kill -9是幾個(gè)意思?

你關(guān)電腦都是直接拔電源嗎?

2017年3月28日 20:10
編輯回答
孤客

如果你的服務(wù)和用戶之間還有一層類似nginx的東西,直接改nginx配置,把服務(wù)定向到一個(gè)升級(jí)提示頁,確保不會(huì)有新請(qǐng)求進(jìn)來,等到所有舊的請(qǐng)求處理完了再直接關(guān)閉服務(wù)就行了。如果服務(wù)和用戶直接連接的話,可以改dns。當(dāng)然最保險(xiǎn)的辦法是改服務(wù)的代碼,用個(gè)全局變量之類的東西作為標(biāo)記,然后升級(jí)的時(shí)候管理員更改這個(gè)標(biāo)記,服務(wù)一旦檢測(cè)到這個(gè)標(biāo)記被更改,就拒絕新的請(qǐng)求,但繼續(xù)處理舊請(qǐng)求。

2018年9月23日 10:15