【作業描述】
1.配置codis-ha
2.總結對比codis的集群方式和redis的cluster集群的優缺點
=================================================================================
一、codis-ha的部署配置
##codis-ha要獨立於codis集群,單獨配置,也是基於go環境的
1、go方式下載codis-ha:
go get github.com/ngaut/codis-ha


2、進入codis-ha目錄,執行go build命令:


3、啟動codis-ha服務
codis-ha -codis-config="10.7.12.98:18087" -log-level="info" -productName='codis' &

-log-level參數,值為日志級別;
-productName參數,值為產品名,可以在codis-proxy的配置文件里找到,如下:


4、測試codis-server的高可用性
(1)當前codis集群狀態如下:




###至此,codis-server的高可用測試結束!
二、codis集群和redis cluster的優劣對比
1、codis架構如下:

(1)Codis是一整套緩存解決方案,包含高可用、數據分片、監控、動態擴態 etc.。走的是 Apps->代理->redis cluster,一定規模后基本都采用這種方式。
(2)Codis引入了Group的概念,每個Group包括1個Redis Master及至少1個Redis Slave,這是和Twemproxy的區別之一。這樣做的好處是,如果當前Master有問題,則運維人員可通過Dashboard“自助式”切換到Slave,而不需要小心翼翼地修改程序配置文件。
為支持數據熱遷移(Auto Rebalance),出品方修改了Redis Server源碼,並稱之為Codis Server。
Codis采用預先分片(Pre-Sharding)機制,事先規定好了,分成1024個slots(也就是說,最多能支持后端1024個Codis Server),這些路由信息保存在ZooKeeper中。
2、redis cluster集群架構如下:

Redis Cluster的成員管理(節點名稱、IP、端口、狀態、角色)等,都通過節點之間兩兩通訊,定期交換並更新。