<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國際加速解決方案。 廣告
                # Worker與Reactor通信模式 `Worker`進程如何與`Reactor`線程通信,Swoole提供了`5`種方式。通過`swoole_server::set`方法設置`dispatch_mode`來配置。 輪詢模式 ----- `dispatch_mode = 1` 收到的請求數據包會輪詢發到每個Worker進程。 FD取模 ----- `dispatch_mode = 2` 數據包根據`fd`的值`%worker_num`來分配,這個模式可以保證一個`TCP`客戶端連接發送的數據總是會被分配給同一個worker進程。 這種模式可能會存在性能問題,作為SOA服務器時,不應當使用此模式。因為客戶端很可能用了連接池,客戶端100個進程復用10個連接,也就是同時只有10個swoole worker進程在處理請求。這種模式的業務系統可以使用`dispatch_mode = 3`,搶占式分配。 忙閑分配 ----- `dispatch_mode = 3` 此模式下,`Reactor`只會給空閑的`Worker`進程投遞數據。 這個模式的缺點是,客戶端連接對應的`Worker`是隨機的。不確定哪個`Worker`會處理請求。無法保存連接狀態。 當然也可以借助第三方庫來實現保存連接狀態和會話內容,比如`apc/redis/memcache`。 IP取模 ---- `dispatch_mode = 4` 如果客戶端的連接不穩定,經常發生斷線重連,`fd`的值不是固定的,使用`IP`進行取模分配可以解決此問題。同一個`IP`地址會被分配到同一個`Worker`進程。 UID取模 ---- `dispatch_mode = 5` 與`fd`或`IP`取模分配一致,`dispatch_mode = 5` 需要應用層調用`bind`方法設置一個`UID`
                  <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>

                              哎呀哎呀视频在线观看