<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                該功能提供一種能讓應用不中斷業務的重啟方式,重啟服務能讓新老進程無縫切換, 實現零停機時間(Zero-Downtime)部署。 相關實現詳見:[Graceful Restart in Golang](https://grisha.org/blog/2014/06/03/graceful-restart-in-golang/) / [Gong服務實現平滑重啟分析](https://www.cnblogs.com/zhucheer/p/12368301.html) 當前有兩種通用的方案來解決: 方案一:多機器部署,可以通過網關/服務注冊等工具,將即將重啟服務的機器從網關下線,重啟完成后再重新上線,該方案適合多機器部署的企業級應用; 方案二:讓我們的程序實現自啟動機制,重啟子進程來實現平滑重啟,適合單機器部署應用; 方案一借助外部工具無需框架提供支持,我們這里介紹方案二由框架封裝了一個平滑重啟的機制; 基于 golang 的 `cmd.ExtraFiles` 方法傳遞文件描述符實現,目前只支持在 linux 系統下完成平滑重啟功能。 ## 實現說明 - 監聽退出信號; - 監聽到信號后 fork 子進程,使用相同的命令啟動程序,將文件描述符傳遞給子進程; - 子進程啟動后,父進程停止服務并處理正在執行的任務(或超時)退出; - 此時只有一個新的進程在運行,實現平滑重啟。 ## 快速使用 向正在運行的程序發送 USR1 信號即實現平滑重啟。 ``` > kill -USR1 xxx (輸入進程的pid) ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看