<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### 哨兵短板 假如現在有這么個業務場景,假如公司是個商城業務,商品數量很多,需要redis存貯的數據大約200G,但是,公司只有100G的機器,主從哨兵的時候就會發現其實每臺redis的存貯數據都是一樣的,每個redis實力都是**全量存儲**,也就是主從結構+哨兵可以實現高可用故障切換+冗余備份,但是并不能解決**數據容量**的問題,用哨兵,浪費內存且有**木桶效應**。所以,為了最大化利用內存,就有了Cluster,也就是**分布式存儲**。即每臺redis存儲不同的內容。說到分布式存貯就不得不說一下redis的兩種分布式方案了。 ### 客戶端分區方案 優點是**分區邏輯可控**,缺點是**需要自己處理數據路由、高可用、故障轉移**等問題,比如在**redis2.8**之前通常的做法是獲取某個`key`的`hashcode`,然后取余分布到不同節點,不過這種做法無法很好的支持動態伸縮性需求,**一旦節點的增或者刪操作,都會導致key無法在redis中命中**,這個方案真的和高可用不沾邊也就不多說了。 ### 代理方案 優點是**簡化客戶端分布式邏輯和升級維護便利**,缺點是**加重架構部署復雜度和性能損耗**,比如**twemproxy**、**Codis**,這兩個如果我有時間的話也會寫一下。 ![](https://img.kancloud.cn/b3/84/b384a20c48bee9f60984b73b306aa16b_514x292.png) 官方為我們提供了專有的集群方案:**Redis Cluster**,它非常優雅地解決了 Redis 集群方面的問題,部署方便簡單,因此理解**應用好 Redis Cluster 將極大地解放我們使用分布式 Redis 的工作量**。 ### 這里我總結了一下哨兵和cluster如何選擇 **單機**:數據量少,主要承載高并發場景,其實單機足夠了。 **哨兵**:一個mater,多個slave,要幾個slave跟你的要求的讀吞吐量有關系,結合sentinal集群,去保證redis主從架構的高可用性,就可以了。 **redis cluster**:主要是針對海量數據+高并發+高可用的場景,**海量數據**,如果你的數據量很大,那么建議就用redis cluster,可以理解為只要是海量數據單機和哨兵根本不行,需要分布式存儲才可以。 ### Redis Cluster簡介 Redis Cluster 是 Redis 的分布式解決方案,在3.0版本正式推出,有效地解決了 Redis 分布式方面的需求。當遇到**單機內存、并發、流量**等瓶頸時,可以采用 Cluster 架構方案達到負載均衡的目的。 架構圖(這個圖是百度搜的我就不自己畫了太丑了): ![](https://img.kancloud.cn/81/84/8184bbe28e7f6f97774fb423006d8a98_649x665.png) 理解一下圖片就行:圖中,**每一個藍色的圈都代表著一個redis的服務器節點。它們任何兩個節點之間都是相互連通的。客戶端可以與任何一個節點相連接,然后就可以訪問集群中的任何一個節點,對其操作。** Redis 集群提供了以下兩個好處: 1、將數據自動切分到多個節點的能力。 2、當集群中的一部分節點失效或者無法進行通訊時, 仍然可以繼續處理命令請求的能力,擁有自動故障轉移的能力。 我把文章分成小節,附在標題上吧。。方便有需要的朋友翻閱。
                  <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>

                              哎呀哎呀视频在线观看