美團在Redis上踩過的一些坑-5.redis cluster遇到的一些問題

來源:互聯網
上載者:User

轉載請註明出處哈:http://carlosfu.iteye.com/blog/2254154     

由於演講時間有限,有關Redis-Cluster,演講者沒做太多介紹,簡單的介紹了一些Redis-Cluster概念作用和遇到的兩個問題,我們在Redis-Cluster也有很多營運經驗,將來的文章會介紹。

 

但是講演者反覆強調,不要聽信網上對於Redis-Cluster的毀謗(實踐出真知),對於這一點我很贊同,我們從Redis-Cluster beta版 RC1~4 到現在的3.0-release均沒有遇到什麼大問題(線上維護600個執行個體)。

 

一、Redis-Cluster

有關Redis-Cluster的詳細介紹有很多這裡就不多說了,可以參考:

1. redis-cluster研究和使用

2. Redis Cluster 3.0.5叢集實踐

3. 本部落格的一些Redis-Cluster的介紹(未更新完畢)

4. Redis設計與實現那本書(作者:黃建宏):非常的推薦看這本書。

總之Redis-Cluster是一個無中心的分布式Redis儲存架構,解決了Redis高可用、可擴充等問題。

 

 

 

 

二、兩個問題:

 

1. Redis-Cluster主從節點不要在同一個機器部署

   (1) 以我們的經驗看redis執行個體本身基本不會掛掉,通常是機器出了問題(斷電、機器故障)、甚至是機架、機櫃出了問題,造成Redis掛掉。

   (2) 如果Redis-Cluster的主從都在一個機器上,那麼如果這台機器掛了,主從全部掛掉,高可用就無法實現。(如果full converage=true,也就意味著整個叢集掛掉)

   (3) 通常來講一對主從所在機器:不跨機房、要跨機架、可以在一個機櫃。

 

2. Redis-Cluster誤判節點fail進行切換

   (1) Redis-Cluster是無中心的架構,判斷節點失敗是通過仲裁的方式來進行(gossip和raft),也就是大部分節點認為一個節點掛掉了,就會做fail判定。

   (2) 如果某個節點在執行比較重的操作(flushall, slaveof等等)(可能短時間redis用戶端串連會阻塞(redis單線程))或者由於網路原因,造成其他節點認為它掛掉了,會做fail判定。

   (3) Redis-Cluster提供了cluster-node-timeout這個參數(預設15秒),作為fail依據(如果超過15秒還是沒反應,就認為是掛掉了),具體可以參考這篇文章:Redis-Cluster的FailOver失敗案例分析

        以我們的經驗看15秒完全夠用。

   

 

三、未來要介紹的問題:

 

1. Redis-Cluster用戶端實現Mget操作。

2. Redis-Cluster--Too many Cluster redirections異常。

3. Redis-Cluster無底洞問題解析。

4. 兩個Redis-Cluster叢集,meet操作問題後的惡果。

5. Redis-Cluster配置之full converage問題。

6. Redis-Cluster容錯移轉測試。

7. Redis-Cluster常用營運技巧。

8. Redis-Cluster一鍵開通。

9. Redis-Cluster用戶端jedis詳解。

 

四、附贈一些不錯的資料:  Redis-Cluster的FailOver失敗案例分析  Redis Cluster 遷移遇到的各種坑及解決方案  Redis Cluster架構最佳化  Redis常見叢集方案、Codis實踐及與Twemproxy比較  Redis Cluster架構最佳化 【營運實踐】魚與熊掌:使用redis-cluster需要注意些什麼。  Docker及和Redis Cluster的化學反應(上)By 芒果TV  Docker及和Redis Cluster的化學反應(下)By 芒果TV  Redis cluster使用經驗——網易有道  Redis Cluster淺析和Bada對比  互連網Redis應用情境探討  Redis叢集技術及Codis實踐  談Twitter的百TB級Redis緩衝實踐  Hadoop、Spark、HBase與Redis的適用性討論 Codis作者黃東旭細說分布式Redis架構設計和踩過的那些坑們

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.