<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國際加速解決方案。 廣告
                ## 主從庫延遲問題 由于主從延遲,在實際上主從架構有些問題,如下 * 用戶寫主庫,由于延遲,用戶讀從庫,數據確沒有讀到 * 如果用戶只讀,但前后倆次被路由到倆個從庫,則數據可能不一致 先說解決第一個問題辦法: * 應該保證如果是一個事務內的寫-讀操作, 那讀寫都應該是主庫,ConnectionSource.getConn 需要實現這個邏輯,BeetlSQL默認已經實現此邏輯,參考SpringConnectionSource 源碼 * 如果寫主庫后,業務頁面發起的請求,是否要查主庫,這有倆個解決辦法,第一個辦法比較通用 通用解決辦法 * 通用解決辦法: ConnectionSource 在update操作后,應該給web cookie 設置一個超時時間,所以后續的所有讀操作,檢測這個cookie 是否存在,如果存在,說明此會話剛寫完不久,所有操作都路由到主庫。BeetlSQL沒有內置實現設置web cookie功能,用戶可以自己擴展ConnectionSource實現。 這個超時時間一句主從復制具體延時來評估,比如設置10秒。 也可用session設定一個上次更新主庫時間 * 根據業務場景來決定,比如用戶修改自己的profile,那凡是操作自己數據,讀寫必須是主庫。如果是讀別人數據,如查看別的用戶profile,則從從庫。 ? 第二個解決辦法:一般情況下是一主多從,或者從庫也有自己的從庫,因此需要設計路由策略,保證用戶始終只訪問一個從庫。可以根據當前用戶id或者當前IP地址等信息,hash后路由到一個確定從庫,ConnectionSource目前實現是隨機從庫的,需要用戶自己去實現路由庫的策略 BeetlSQL這就要能按照如上方式,重寫ConnectionSource的路由策略,即可支持,開發者需要結合自己的框架自行實現 > 此方案解決了同一個人用戶能看到一致的數據,無法解決倆個用戶,被路由到不同的從庫,看到不同的數據的情況,這只分布式帶來不可避免問題。
                  <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>

                              哎呀哎呀视频在线观看