<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國際加速解決方案。 廣告
                ### 通過進程模型進行擴展 任何計算機程序,一旦啟動,就會生成一個或多個進程。互聯網應用采用多種進程運行方式。例如,PHP 進程作為 Apache 的子進程存在,隨請求按需啟動。Java 進程則采取了相反的方式,在程序啟動之初 JVM 就提供了一個超級進程儲備了大量的系統資源(CPU 和內存),并通過多線程實現內部的并發管理。上述 2 個例子中,進程是開發人員可以操作的最小單位。 ![](https://box.kancloud.cn/2015-12-09_5667f1afc472e.png) **在 12-actor 應用中,進程是一等公民。**12-Factor 應用的進程主要借鑒于?[unix 守護進程模型](http://adam.heroku.com/past/2011/5/9/applying_the_unix_process_model_to_web_apps/)?。開發人員可以運用這個模型去設計應用架構,將不同的工作分配給不同的?*進程類型*?。例如,HTTP 請求可以交給 web 進程來處理,而常駐的后臺工作則交由 worker 進程負責。 這并不包括個別較為特殊的進程,例如通過虛擬機的線程處理并發的內部運算,或是使用諸如?[EventMachine](http://rubyeventmachine.com/),[Twisted](http://twistedmatrix.com/trac/),?[Node.js](http://nodejs.org/)?的異步/事件觸發模型。但一臺獨立的虛擬機的擴展有瓶頸(垂直擴展),所以應用程序必須可以在多臺物理機器間跨進程工作。 上述進程模型會在系統急需擴展時大放異彩。?[12-Factor 應用的進程所具備的無共享,水平分區的特性](http://12factor.net/zh_cn/processes)?意味著添加并發會變得簡單而穩妥。這些進程的類型以及每個類型中進程的數量就被稱作?*進程構成*?。 12-Factor 應用的進程?[不需要守護進程](http://dustin.github.com/2010/02/28/running-processes.html)?或是寫入 PID 文件。相反的,應該借助操作系統的進程管理器(例如?[Upstart](http://upstart.ubuntu.com/)?,分布式的進程管理云平臺,或是類似?[Foreman](http://blog.daviddollar.org/2011/05/06/introducing-foreman.html)?的工具),來管理?[輸出流](http://12factor.net/logs)?,響應崩潰的進程,以及處理用戶觸發的重啟和關閉超級進程的請求。
                  <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>

                              哎呀哎呀视频在线观看