Java開發——Redis雲管理平臺實現方案CacheCloud掃盲

歐陽慍斐發表於2018-07-25

本文簡述一個redis雲平臺解決方案,該方案是搜狐TV雲平臺管理的解決方案CacheCloud ,感興趣的可以持續關注我的釋出。

Java開發Redis雲管理平臺 實現方案CacheCloud 掃盲

 

一、CacheCloud是做什麼的

CacheCloud提供一個Redis雲管理平臺:實現多種型別(Redis Standalone、Redis Sentinel、Redis Cluster)自動部署、解決Redis例項碎片化現象、提供完善統計、監控、運維功能、減少運維成本和誤操作,提高機器的利用率,提供靈活的伸縮性,提供方便的接入客戶端。

Java開發Redis雲管理平臺 實現方案CacheCloud 掃盲

 

二、CacheCloud提供哪些功能

  • 監控統計:提供了機器、應用、例項下各個維度資料的監控和統計介面。
  • 一鍵開啟:Redis Standalone、Redis Sentinel、Redis Cluster三種型別的應用,無需手動配置初始化。
  • Failover:支援哨兵,叢集的高可用模式。
  • 伸縮:提供完善的垂直和水平線上伸縮功能。
  • 完善運維: 提供自動運維和簡化運維操作功能,避免純手工運維出錯。
  • 方便的客戶端 方便快捷的客戶端接入。
  • 後設資料管理: 提供機器、應用、例項、使用者資訊管理。
  • 流程化: 提供申請,運維,伸縮,修改等完善的處理流程
  • 一鍵匯入: 一鍵匯入已經存在Redis

三、CacheCloud解決什麼問題

Java開發Redis雲管理平臺 實現方案CacheCloud 掃盲

 

1.部署成本

Redis多機(Redis-Sentinel, Redis-Cluster)部署和配置相對比較複雜,較容易出錯。例如:100個redis資料節點組成的redis-cluster叢集,如果單純手工安裝,既耗時又容易出錯。

2.例項碎片化

作為一個Redis管理員(可以看做redis DBA)需要幫助開發者管理上百個Redis-Cluster叢集,分佈在數百臺機器上,人工維護成本很高,需要自動化運維工具。

3. 監控、統計和管理不完善

一些開源的Redis監控和管理工具,例如:RedisLive(Python)、Redis Commander(Node.js),Redmon(Ruby)無論從功能的全面性(例如配置管理,支援Redis-Cluster等等)、擴充套件性很難滿足需求。

4. 運維成本

Redis的使用者需要維護各自的Redis,但是使用者可能更加善於使用Redis實現各種功能,但是沒有足夠的精力和經驗維護Redis。Redis的開發人員如同使用MySQL一樣,不需要運維Mysql伺服器,同樣使用Redis服務,不要自己運維Redis,Redis由一些在Redis運維方面更有經驗的人來維護(保證高可用,高擴充套件性),使得開發者更加關注於Redis使用本身。

5. 伸縮性

本產品支援Redis最新的Redis-Sentinel、Redis-Cluster叢集機構,既滿足Redis高可用性、又能滿足Redis的可擴充套件性,具有較強的容量和效能伸縮能力。

6. 經濟成本

機器利用率低,各個專案組的Redis較為分散的部署在各自伺服器上,造成了大量閒置資源沒有有效利用。

7. 版本不統一

各個專案的Redis使用各種不同的版本,不便於管理和互動。

四、CacheCloud提供的價值

  • 規模化自動運維:降低運維成本,降低人為操作出錯率。
  • 自由伸縮:提供靈活的伸縮性,應用擴容/收縮成本降低,機器資源得到重複利用。
  • 團隊提升,開源貢獻:提升雲產品開發設計經驗,自己作為開發者和使用者。

五、CacheCloud在搜狐的規模

  • 每天500+億次命令呼叫
  • 2T+的記憶體空間
  • 1600+個Redis例項
  • 200+臺機器

歡迎工作一到五年的Java工程師朋友們加入Java架構開發:468947140

點選連結加入群聊【Java-BATJ企業級資深架構】:https://jq.qq.com/?_wv=1027&k=5zMN6JB

本群提供免費的學習指導 架構資料 以及免費的解答

不懂得問題都可以在本群提出來 之後還會有職業生涯規劃以及面試指導

如果本文中筆者有介紹的不詳細或者有問題的地方,請大家評論留言。


相關文章