Redis Cluster模式與Proxy模式比較


 

轉自 https://www.iteye.com/blog/ballenlee-2514207

1. cluster模式

優點:

  1. 客戶端(Jedis)直連redis節點,性能會更好

缺點:

    1. 客戶端(Jedis)直連redis節點,意味着客戶端就需要保存集群所有節點信息,當集群比較大100-200個master節點時,這個數據量會比較大

    2. 當集群規模比較大,100-200個master節點時,算上從節點,要到200-400個節點,互相ping pong的健康檢查網絡開銷會非常大

 

2. proxy模式

優點:

    1. 客戶端(Jedis)直連有限的proxy節點,會比較輕量和簡單

    2. 集群規模理論上可以非常大,因為proxy對外隱藏了集群規模

缺點:

    1. 多了一層proxy訪問,性能會有影響

    2. 需要第三方的proxy實現,集群水平擴容時proxy要想平滑動態更新集群配置,需要開發工具支持

 

3. 方案

    1. 采用 twemproxy做為代理,去zk獲取集群配置

    2. 集群通過sentinel保證高可用

 

4. 水平擴容

    1. 開發工具,偽裝成集群的slave節點,從而拿到RDB文件和增量更新數據,路由到新的集群(此處的路由算法要保證和twemproxy實際實現的一致)

    2. 當開發工具評估兩個集群基本一致(實時更新數據較小、偏移量追平等因素綜合考慮),更新新的集群配置到zk

    3. zk會動態通知twemproxy,由於twemproxy的路由算法跟4.1步驟相同,基本就可以保證平滑遷移


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM