搜狐視頻Redis私人雲端平台CacheCloud

來源:互聯網
上載者:User

搜狐視頻Redis私人雲端平台CacheCloud
一、CacheCloud是做什麼的

CacheCloud提供一個Redis雲管理平台:實現多種類型(Redis Standalone、Redis Sentinel、Redis Cluster)自動部署、解決Redis執行個體片段化現象、提供完善統計、監控、營運功能、減少開發人員的營運成本和誤操作,提高機器的利用率,提供靈活的伸縮性,提供方便的接入用戶端

二、CacheCloud提供哪些功能
  • 監控統計: 提供了機器、應用、執行個體下各個維度資料的監控和統計介面。
  • 一鍵開啟: Redis Standalone、Redis Sentinel、Redis Cluster三種類型的應用,無需手動設定初始化。
  • Failover: 支援哨兵,叢集的高可用模式。
  • 伸縮: 提供完善的垂直和水平線上伸縮功能。
  • 完善營運: 提供自動營運和簡化營運操作功能,避免純手工營運出錯。
  • 方便的用戶端:方便快捷的用戶端接入。
  • 中繼資料管理: 提供機器、應用、執行個體、使用者資訊管理。
  • 流程化: 提供申請,營運,伸縮,修改等完善的處理流程
三、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提供的價值
  • 規模化自動營運: 降低營運成本,降低人為操作出錯率。
  • 自由伸縮: 提供靈活的伸縮性,應用擴容/收縮成本降低,機器資源得到重複利用。
  • 團隊提升,開源貢獻:提升雲產品開發設計經驗,自己作為開發人員和使用者,Eating your own dog food。
五、CacheCloud在搜狐的規模
  • 每天100+億次命令調用
  • 2T+的記憶體空間
  • 800+個Redis執行個體
  • 100+台機器
六、CacheCloud環境需求
  • Java 7
  • Maven 3
  • MySQL
  • Redis 3
七、CacheCloud快速開始1、初始化資料庫

匯入項目中cachecloud.sql初始化庫表結構。預設插入admin超級管理員

2、CacheCloud項目配置

使用了maven作為項目構建的工具,提供了 local.properties和online.properties兩套配置作為測試、線上的隔離。 屬性配置說明:

屬性名稱說明樣本cachecloud.db.urlmysql驅動urljdbc:mysql://127.0.0.1:3306/cache-cloudcachecloud.db.usermysql使用者名稱admincachecloud.db.passwordmysql密碼admincachecloud.machine.username伺服器使用者名稱,用於ssh${your machine username}cachecloud.machine.password伺服器密碼,用於ssh${your machine password}web.portspring-boot內嵌tomcat啟動連接埠80803、啟動cachecloud系統

(1). 本地啟動:在cachecloud-web模組下運行

 mvn spring-boot:run

(2). 生產環境

    1. 構建:mvn -Ponline clean package    2. 上傳war包到特定目錄下:如/opt/cachecloud-web    3: 拷貝cachecloud-web-1.0-SNAPSHOT.conf配置到/opt/cachecloud-web目錄下,注意必須跟war包同目錄才生效    4. 作為linux服務啟動:    sudo ln -s /opt/cachecloud-web/cachecloud-web-1.0-SNAPSHOT.war /etc/init.d/cachecloud-web     /etc/init.d/cachecloud-web start

(3). 登入確認

  • a) 訪問:http://127.0.0.1:9999
    (9999是tomcat的連接埠號碼)
  • b) 如果訪問正常,請使用使用者名稱:admin、密碼:admin訪問系統,跳轉到應用列表下:
4、添加機器

(1). 運行指令碼:
cachecloud項目中的cachecloud-init.sh指令碼是用來初始化伺服器的cachecloud環境,主要工作如下:

  • a). 建立cachecloud項目使用者:因為cachecloud項目的部分功能(redis啟動、伺服器監控)是通過ssh完成的,所以這裡的使用者和密碼要和項目中的相對應,具體詳見第三節。
  • b). 建立cachecloud項目的工作目錄、資料目錄、配置目錄、日誌目錄、redis安裝目錄、臨時目錄等等。
    (/opt/cachecloud/data、/opt/cachecloud/conf、/opt/cachecloud/logs、/opt/cachecloud/redis、/tmp/cachecloud)
  • c). 安裝最新的release版本的Redis

(2). 指令碼執行

  • (a). 使用root登入目標伺服器。
  • (b). 將cachecloud-init.sh指令碼拷貝到目標伺服器目前使用者目錄下。
  • (c). 執行 sh cachecloud-init.sh ${yourusername}
  • (d). 兩次確認密碼
  • (e). 一路安裝直到成功。

(3). 建議和警告

  • (a). 請在root使用者下執行初始化指令碼,因為初始化指令碼涉及到了使用者的建立等較高的許可權。
  • (b). 出於安全的考慮,所選的機器最好不要有外網IP地址。
  • (c). 使用者名稱和密碼最好不要用cachecloud, 密碼儘可能複雜。
  • (d). 機器的ssh連接埠最好是22。
  • (e). 請確保/opt/有足夠的硬碟空間,因為/opt/cachecloud/data要儲存RDB和AOF的持久化檔案,如果硬碟過小,會造成持久化失敗。 (如果硬碟確實很小,建議建立一個軟連結到/opt/cachecloud/data,且保證軟連結的目錄也是username使用者,一定要保證/opt /cachecloud的目錄結構)
  • (f). 指令碼中目前使用的是redis-3.0.6,如有需要請自行替換,建議使用3.0 release以後的版本。

(4). 添加機器
進入管理員介面(http://ip:port/manage/total/list),進入機器管理,點擊添加機器,添加機器資訊是開通應用的基礎。

搜狐的兄弟們還錄製了視頻教程,真乃開源的良心作品:http://my.tv.sohu.com/pl/9100280/index.shtml

原文來自:https://www.ttlsa.com/redis/sohu-tv-cachecloud-redis/作者:ttlsa

本文地址:http://www.linuxprobe.com/sohu-tv-cachecloud

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.