日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

面試官:SpringBoot如何優雅停機?

來源: 責編: 時間:2024-03-18 17:40:34 247觀看
導讀優雅停機(Graceful Shutdown)是指在服務器需要關閉或重啟時,能夠先處理完當前正在進行的請求,然后再停止服務的操作。優雅停機的實現步驟主要分為以下幾步:停止接收新的請求:首先,系統會停止接受新的請求,這樣就不會有新的任

優雅停機(Graceful Shutdown)是指在服務器需要關閉或重啟時,能夠先處理完當前正在進行的請求,然后再停止服務的操作。kXm28資訊網——每日最新資訊28at.com

優雅停機的實現步驟主要分為以下幾步:kXm28資訊網——每日最新資訊28at.com

  1. 停止接收新的請求:首先,系統會停止接受新的請求,這樣就不會有新的任務被添加到任務隊列中。
  2. 處理當前請求:系統會繼續處理當前已經在處理中的請求,確保這些請求能夠正常完成。這通常涉及到等待正在執行的任務完成,如處理HTTP請求、數據庫操作等。
  3. 釋放資源:在請求處理完成后,系統會釋放所有已分配的資源,如關閉數據庫連接、斷開網絡連接等。
  4. 關閉服務:最后,當所有請求都處理完畢且資源都已釋放后,系統會安全地關閉服務。

0.SpringBoot如何實現優雅停機?

優雅停機的實現步驟分為以下兩步:kXm28資訊網——每日最新資訊28at.com

  1. 使用合理的 kill 命令,給 Spring Boot 項目發送優雅停機指令。
  2. 開啟 Spring Boot 優雅停機/自定義 Spring Boot 優雅停機的實現。

1.合理殺死進程

在 Linux 中 kill 殺死進程的常用命令有以下這些:kXm28資訊網——每日最新資訊28at.com

  1. kill -2 pid:向指定 pid 發送 SIGINT 中斷信號,等同于 ctrl+c。也就說,不僅當前進程會收到該信號,而且它的子進程也會收到終止的命令。
  2. kill -9 pid:向指定 pid 發送 SIGKILL 立即終止信號。程序不能捕獲該信號,最粗暴最快速結束程序的方法。
  3. kill -15 pid:向指定 pid 發送 SIGTERM 終止信號。信號會被當前進程接收到,但它的子進程不會收到,如果當前進程被 kill 掉,它的的子進程的父進程將變成 init 進程 (init 進程是那個 pid 為 1 的進程)。
  4. kill pid:等同于 kill 15 pid。

因此,在以上命令中,我們不能使用“kill -9”來殺死進程,使用“kill”殺死進程即可。kXm28資訊網——每日最新資訊28at.com

2.設置SpringBoot優雅停機

在 Spring Boot 2.3.0 之后,可以通過配置設置開啟 Spring Boot 的優雅停機功能,如下所示:kXm28資訊網——每日最新資訊28at.com

# 開啟優雅停機,默認值:immediate 為立即關閉server.shutdown=graceful# 設置緩沖期,最大等待時間,默認:30秒spring.lifecycle.timeout-per-shutdown-phase=60s

此時,應用在關閉時,Web 服務器將不再接受新請求,并等待正在進行的請求完成的緩沖時間。kXm28資訊網——每日最新資訊28at.com

然而,如果是 Spring Boot 2.3.0 之前,就需要自行擴展(線程池)來實現優雅停機了。它的核心實現實現是在系統關閉時會調用 ShutdownHook,然后在 ShutdownHook 中阻塞 Web 容器的線程池,直到所有請求都處理完畢再關閉程序,這樣就實現自定義優雅線下了。kXm28資訊網——每日最新資訊28at.com

但是,不同的 Web 容器(Tomcat、Jetty、Undertow)有不同的自定義優雅停機的方法,以 Tomcat 為例,它的自定義優雅停機實現如下。kXm28資訊網——每日最新資訊28at.com

2.1 Tomcat 容器關閉代碼

public class TomcatGracefulShutdown implements TomcatConnectorCustomizer, ApplicationListener<ContextClosedEvent> {    private volatile Connector connector;    public void customize(Connector connector) {        this.connector = connector;    }    public void onApplicationEvent(ContextClosedEvent contextClosedEvent) {        this.connector.pause();        Executor executor = this.connector.getProtocolHandler().getExecutor();        if (executor instanceof ThreadPoolExecutor) {            try {                log.info("Start to shutdown tomcat thread pool");                ThreadPoolExecutor threadPoolExecutor = (ThreadPoolExecutor) executor;                threadPoolExecutor.shutdown();                if (!threadPoolExecutor.awaitTermination(20, TimeUnit.SECONDS)) {                    log.warn("Tomcat thread pool did not shutdown gracefully within 20 seconds. ");                }            } catch (InterruptedException e) {                log.warn("Fail to shut down tomcat thread pool ", e);            }        }    }}

2.2 設置 Tomcat 自動裝配

@Configuration@ConditionalOnClass({Servlet.class, Tomcat.class})public static class TomcatConfiguration {    @Bean    public TomcatGracefulShutdown tomcatGracefulShutdown() {        return new TomcatGracefulShutdown();    }    @Bean    public EmbeddedServletContainerFactory tomcatEmbeddedServletContainerFactory(TomcatGracefulShutdown gracefulShutdown) {        TomcatEmbeddedServletContainerFactory tomcatFactory = new TomcatEmbeddedServletContainerFactory();        tomcatFactory.addConnectorCustomizers(gracefulShutdown);        return tomcatFactory;    }}

kXm28資訊網——每日最新資訊28at.com

PS:Jetty、Undertow 優雅停機的實現方式,參考《面試訓練營》,vx:gg_stonekXm28資訊網——每日最新資訊28at.com

課后思考

Spring Boot Actuator 能實現優雅停機嗎?為什么?如何實現分布式系統的優雅停機?kXm28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-77522-0.html面試官:SpringBoot如何優雅停機?

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: 編程語言3月榜單:Python第一C++排第三,昔日王者第四預示互聯網時代結束

下一篇: Java中的鎖升級機制:偏向鎖、輕量級鎖和重量級鎖

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
欧美成人资源网| 欧美精品福利在线| 一本综合精品| 亚洲国产精品第一区二区三区| 久久躁狠狠躁夜夜爽| 欧美亚洲自偷自偷| 一本久道综合久久精品| 日韩一级免费观看| 在线免费观看日韩欧美| 在线观看视频免费一区二区三区| 亚洲国产日韩欧美在线99| 亚洲成在线观看| 亚洲激情黄色| 亚洲国产欧美一区二区三区同亚洲 | 国产亚洲日本欧美韩国| 国产日产欧美精品| 国产精品久久久久久久app| 欧美视频在线观看视频极品| 国产精品日韩欧美综合 | 在线观看亚洲a| 亚洲国产美国国产综合一区二区| 亚洲日本在线视频观看| 亚洲作爱视频| 亚洲一区国产精品| 亚洲一区二区在线播放| 久久精品国产免费| 亚洲午夜激情网站| 亚洲一区二区三区在线| 久久精品视频在线看| 蜜桃av噜噜一区| 欧美成人首页| 欧美日韩一区二区三区免费| 国产手机视频精品| 国模精品娜娜一二三区| 亚洲国产精品久久人人爱蜜臀| 一本色道久久综合亚洲二区三区| 香蕉久久夜色精品| 午夜精品久久久久久久男人的天堂 | 亚洲电影免费在线观看| 亚洲精品国产精品国自产在线| 亚洲综合首页| 久久精品国产v日韩v亚洲| 欧美成人自拍| 国产精品国产三级国产| 国产亚洲人成a一在线v站| 亚洲黄色大片| 亚洲欧美国产视频| 欧美一区二区三区在线看 | 亚洲无毛电影| 久久琪琪电影院| 欧美日韩精品免费观看| 国产欧美精品日韩精品| 依依成人综合视频| 玖玖玖国产精品| 欧美国产日产韩国视频| 国产精品萝li| 亚洲国内自拍| 午夜欧美不卡精品aaaaa| 欧美+亚洲+精品+三区| 欧美网站大全在线观看| 韩国免费一区| 在线视频亚洲| 久久午夜电影| 国产精品卡一卡二| 国产一区二区三区黄视频| 日韩午夜精品| 久久蜜桃香蕉精品一区二区三区| 国产精品久久99| 亚洲国产成人精品女人久久久 | 久久国产精品一区二区| 欧美激情一区在线| 欧美视频一区二区| 国产日韩欧美精品| 亚洲国产精选| 欧美在线精品免播放器视频| 国产精品国产馆在线真实露脸| 91久久精品一区| 久久精品30| 国产精品久久激情| 在线观看成人一级片| 欧美伊久线香蕉线新在线| 欧美日韩中文字幕| 黄网站免费久久| 新67194成人永久网站| 欧美日韩精品一区| 韩国福利一区| 午夜精品美女自拍福到在线 | 你懂的视频一区二区| 国产亚洲成年网址在线观看| 亚洲女人天堂av| 欧美三级视频在线| 狠狠网亚洲精品| 香蕉久久一区二区不卡无毒影院 | 亚洲日韩第九十九页| 久久久综合精品| 国产精品一区二区三区乱码| 亚洲在线不卡| 欧美亚洲不卡| 欧美视频在线免费看| 中日韩美女免费视频网址在线观看| 久久精精品视频| 国产精品久久久久一区二区| 99人久久精品视频最新地址| 欧美精品粉嫩高潮一区二区 | 亚洲影音一区| 欧美人与性动交cc0o| 亚洲国产日韩欧美| 性色av香蕉一区二区| 国产精品国产三级国产普通话99| 亚洲图片欧美一区| 欧美成人久久| 亚洲国产日韩一区二区| 久久综合电影| 怡红院精品视频| 老司机久久99久久精品播放免费| 亚洲高清免费视频| 欧美专区在线观看一区| 国产视频在线观看一区二区三区| 久久国产精品99国产精| 国产日韩综合一区二区性色av| 久久精品国产一区二区电影| 永久久久久久| 嫩草影视亚洲| 亚洲人成啪啪网站| 浪潮色综合久久天堂| 亚洲盗摄视频| 欧美刺激午夜性久久久久久久| 99re成人精品视频| 欧美国产免费| 一本色道久久综合亚洲91| 欧美偷拍一区二区| 在线亚洲欧美专区二区| 国产精品激情av在线播放| 午夜精品在线观看| 国产精品久久久久一区二区三区共| 欧美一区二区三区视频在线观看 | 一本色道久久| 欧美性淫爽ww久久久久无| 亚洲欧美日产图| 国产一区二区日韩| 欧美一区成人| 伊人成综合网伊人222| 欧美激情综合五月色丁香小说 | 国产嫩草影院久久久久 | 久久精品天堂| 韩国v欧美v日本v亚洲v| 国产资源精品在线观看| 久久婷婷av| 亚洲韩国一区二区三区| 欧美日韩国产综合网| 亚洲一级在线| 国内在线观看一区二区三区| 欧美精品黄色| 亚洲一区二区三区四区在线观看| 狠狠色丁香久久综合频道| 男人的天堂成人在线| 99这里有精品| 国产欧美日韩免费看aⅴ视频| 美日韩免费视频| 一二美女精品欧洲| 欧美午夜欧美| 久久久高清一区二区三区| 亚洲国产老妈| 国产精品任我爽爆在线播放| 老色鬼精品视频在线观看播放| 一区二区欧美亚洲| 国产精品免费一区豆花| 久久人人爽人人爽爽久久| 亚洲美女视频网| 国产欧美精品一区二区三区介绍| 欧美黄色片免费观看| 亚洲欧美日本另类| 国产一区二区三区丝袜| 欧美激情视频免费观看| 欧美高清视频一二三区| 亚洲一区二区三区乱码aⅴ蜜桃女| 国产精品成人v| 久久精品夜色噜噜亚洲a∨| 亚洲人成欧美中文字幕| 国产精品午夜在线观看| 久热精品视频在线免费观看| 亚洲欧美激情视频| 黑人操亚洲美女惩罚| 欧美日韩午夜在线| 午夜在线视频观看日韩17c| 亚洲激情校园春色| 欧美视频在线观看一区二区| 亚洲精品专区| 国产精品成人一区二区艾草| 亚洲欧美国产日韩天堂区| 国外成人在线| 欧美日韩亚洲视频一区| 久久精品国产免费| 亚洲国产欧美另类丝袜| 国产欧美日韩免费看aⅴ视频| 欧美日韩精品一区二区在线播放| 噜噜噜噜噜久久久久久91| 亚洲欧美日韩一区| 一区在线免费| 国产欧美精品日韩| 欧美国产日本| 久久久亚洲欧洲日产国码αv| 午夜精品久久久久久久99黑人| 一区二区三区四区国产精品|