4.1.1Proxy元件

玄學醬發表於2018-02-27

從上面問題解決方案的分析可以看出,Proxy層的保留還是有其必要性的:

  • 協議解析
    • 實現Cluster協議,遮蔽影響
    • 維護到後端的長連線
  • 安全過濾
    • 命令白名單
    • 安全許可權過濾
  • 負載均衡
    • Presharding雜湊函式
    • 快取Slot路由表
    • 控制Resharding演算法和方式
  • 結果聚合
    • MultiOp支援
    • Pipeline支援
  • 讀寫分離
    • 讀壓力分攤,避免Slave“冷備”
  • 層次化儲存
    • 冷資料Swap到慢儲存
    • L1快取實現
  • 監控管理
    • 狀態的監控、歷史報告
    • 閾值的設定、預警

既然保留了Proxy元件,Redis Cluster的優勢就不明顯了。那為什麼後端還要用Redis Cluster而不是單機版的Redis呢?因為Redis Cluster給我們帶來幾個最大的好處:

  • 自動故障轉移:不再需要額外的Sentinel叢集
  • 官方的Slot實現:不修改Redis原始碼就得到Slot實現及常用操作
  • 被動保證Slot一致性:Redis負責訪問了舊結點的客戶端的重定向
  • 遷移中的資料訪問:Redis負責訪問遷移中資料的客戶端的重定向

4.1.2 Dashboard元件

一個美觀而實用的Dashboard完全有理由讓使用者拋棄redis-trib,要是再具有自動部署和Resharding演算法那就更完美了!

4.1.3 Agent元件

Agent不僅可以完成執行資料採集,僅僅這樣的話Dashboard完全可以自己完成。它還可以完成Redis Cluster的部署工作,這樣就能大大降低開發人員的工作量和手工出錯的概率。

本文作者:geelou
本文來自雲棲社群合作伙伴rediscn,瞭解相關資訊可以關注redis.cn網站。


相關文章