第十一课——codis-server的高可用,对比codis和redis cluster的优缺点
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第十一课——codis-server的高可用,对比codis和redis cluster的优缺点相关的知识,希望对你有一定的参考价值。
【作业描述】
1.配置codis-ha
2.总结对比codis的集群方式和redis的cluster集群的优缺点
=================================================================================
一、codis-ha的部署配置
##codis-ha要独立于codis集群,单独配置,也是基于go环境的
1、go方式下载codis-ha:
go get github.com/ngaut/codis-ha
![技术分享](http://image.mamicode.com/info/201610/20180110212823083632.png)
![技术分享](http://image.mamicode.com/info/201610/20180110212823085586.png)
2、进入codis-ha目录,执行go build命令:
![技术分享](http://image.mamicode.com/info/201610/20180110212823087539.png)
![技术分享](http://image.mamicode.com/info/201610/20180110212823089492.png)
3、启动codis-ha服务
codis-ha -codis-config="10.7.12.98:18087" -log-level="info" -productName=‘codis‘ &
![技术分享](http://image.mamicode.com/info/201610/20180110212823091445.png)
-log-level参数,值为日志级别;
-productName参数,值为产品名,可以在codis-proxy的配置文件里找到,如下:
![技术分享](http://image.mamicode.com/info/201610/20180110212823094375.png)
![技术分享](http://image.mamicode.com/info/201610/20180110212823095352.png)
4、测试codis-server的高可用性
(1)当前codis集群状态如下:
![技术分享](http://image.mamicode.com/info/201610/20180110212823097305.png)
![技术分享](http://image.mamicode.com/info/201610/20180110212823098281.png)
![技术分享](http://image.mamicode.com/info/201610/20180110212823100235.png)
![技术分享](http://image.mamicode.com/info/201610/20180110212823101211.png)
###至此,codis-server的高可用测试结束!
二、codis集群和redis cluster的优劣对比
1、codis架构如下:
![技术分享](http://image.mamicode.com/info/201610/20180110212823103164.png)
(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集群架构如下:
![技术分享](http://image.mamicode.com/info/201610/20180110212823105118.png)
Redis Cluster的成员管理(节点名称、IP、端口、状态、角色)等,都通过节点之间两两通讯,定期交换并更新。
以上是关于第十一课——codis-server的高可用,对比codis和redis cluster的优缺点的主要内容,如果未能解决你的问题,请参考以下文章