第十一课——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

2、进入codis-ha目录,执行go build命令:


3、启动codis-ha服务

codis-ha -codis-config="10.7.12.98:18087" -log-level="info" -productName=‘codis‘ &

-codis-config参数,值为codis集群的管理控制台端口,也就是dashboard界面访问的IP:port

-log-level参数,值为日志级别;

-productName参数,值为产品名,可以在codis-proxy的配置文件里找到,如下:

或者通过dashboard管理界面查看:

4、测试codis-server的高可用性

(1)当前codis集群状态如下:

(2)将redis8379进程杀掉,如下:

codis-ha有如下日志输出:

通过dashboard管理界面查看如下:

###redis8379节点重新启动后,会通过codis-ha将redis8379重新添加到集群,作为redis9379节点的从库

###至此,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中。

(3)Codis仅负责维护当前Redis Server列表,由运维人员自己去保证主从数据的一致性。

2、redis cluster集群架构如下:

(1)Redis Cluster将所有Key映射到16384个Slot中,集群中每个Redis实例负责一部分,业务程序通过集成的Redis Cluster客户端进行操作。客户端可以向任一实例发出请求,如果所需数据不在该实例中,则该实例引导客户端自动去对应实例读写数据。

Redis Cluster的成员管理(节点名称、IP、端口、状态、角色)等,都通过节点之间两两通讯,定期交换并更新。

来自为知笔记(Wiz)

时间: 2024-10-09 06:34:18

第十一课——codis-server的高可用,对比codis和redis cluster的优缺点的相关文章

Windows server 2003高可用NLB和服务器群集配置

Windows server 2003高可用NLB和服务器群集配置 拓朴简介: 1. VS1:用来连接内网和外网的路由器(Internet). 2. VS2 / VS3:NLB群集,上面搭建WEB SERVER. 3. VS4 / VS5:服务器群集.上面搭建文件共享服务器.DHCP服务器.WEB服务器的数据库. 4. 真机:外部客户,用来访问内部的服务器. 5. VS3:做域控制器.内部所有计算机做DC 成员机. 6. 磁盘阵列:由于设备原因,在服务器群集VS5和VS4各添两块磁盘.做阵列.

BizTalk Server 2010高可用方案

BizTalk Server 2010高可用方案 本文介绍了 Microsoft BizTalk Server 中通过对主机的各层进行扩展提供高可用性的方案. 分隔各个区域的功能分为不同的主机和中的层 BizTalk Server, ,管理员可以为每个主机提供冗余和缩放它们独立于其他主机. 若要为每个功能区域提供高可用性,应创建单独的主机,为每个主函数-接收. 处理. 发送和跟踪-和群集 BizTalk Server 数据库和企业单一登录的主密钥服务器. 小型 BizTalk Server 部署

Lync server 2013高可用环境快速查看客户端的版本信息及连接状态

我们在进行Lync server 2013高可用部署的项目中,有一些用户会提出一些要求,比如:我是否能查看哪些客户端连接在哪台Lync Server 2013前端.前端是否达到了高可用的效果.客户端连接的版本信息等- - 针对以上客户提出的要求我们可以通过以下方法来实现: 准备工作: 1. 下载脚本文件:get-csconnections.ps1 2. 打开Lync server 2013前端到SQL之间的端口:1434 操作过程: 1. 将脚本文件拷贝到Lync server 2013 前端服

Zabbix实战-简易教程(6)--Server端高可用

3.4 server前端高可用 至此,单台Zabbix server环境已经搭建完成,为了达到高可用效果,我们需要通过2台服务器之间通过HA软件进行探测,一旦检测到主的server挂掉后,从的server会立即顶替.我们这里采用keepalived软件来实现. 3.4.1 Keepalived安装 直接yum安装即可 Yum install keepalived 3.4.2 keepalived配置 Master上的keepalived配置如下: [Master] cat /etc/keepal

Eureka Server的高可用

Eureka Server进行互相注册的方式来实现高可用的部署,所以我们只需要将Eureke Server配置其他可用的serviceUrl就能实现高可用部署 创建application-peer1.properties,作为peer1服务中心的配置,并将serviceUrl指向peer2 spring.application.name=eureka-server server.port=1111 eureka.instance.hostname=peer1 #指向另一个注册中心 eureka.

SQL Server 2014 高可用之前言:这里就随便说说

几个月前把自己的Demo环境拿来全部推翻了(现在也忘了为嘛推翻了,重新做好蛋疼),准备再重新做一个高可用环境,准备把自己能做的高可用都挨着做一遍. SQL Server作为微软大多数多系统的后端数据库,所以,还是先把后端的数据库做成高可用了,再挨着做前端的应用.本系列里面有数据库的高可用以及以前做的备份恢复的东西. 由于对于数据库的了解还是在皮毛上,所以后面的文章有什么问题的地方,还是请各位大牛能指正的指正下吧,在此先谢谢了!

使用Microsoft iSCSI Target Server构建高可用SMB3.0

关于Windows Server 2012 R2中故障转移群集功能,可参考前文所述.在Windows Server 2012 R2中故障转移群集中,可用的群集文件服务器主要有: 1. 适用于应用程序数据的横向扩展文件服务器(横向扩展文件服务器):该类群集文件服务器在 Windows Server 2012 中引入,能够让你存储文件共享上的服务器应用程序数据,例如 Hyper-V 虚拟机文件,并获取类似水平的可靠性.可用性.可管理性以及预期从存储区域网络中获得的高性能.所有文件共享均为在线状态,同

Lync Server 2013 部署 _ Lync Server后端高可用

这章介绍如何在之前单台后端数据库的基础上建立镜像数据库 Lync Server 后端就是SQL Server 数据库,后端高可用在跟Lync集成后跟以往的高可用配置有所不同, 高可用是一种架构,高可用的架构中,硬件或软件出现故障的情况下继续能够对外提供服务, 高可用分为两种,第一种是故障转移群集(Failover Cluster),主服务器宕机后,切换备用服务器 第二种是网络负载均衡(NLB),NLB最常见的案例就是Web服务器,多台服务器同时分摊用户访问流量 首先说明一下部署条件,我们之前已经

实现Eureka Server的高可用并将应用注册到Eureka Sever集群上

1. 回顾 Eureka Client会定时连接Eureka Server,获取注册表中的信息并缓存到本地.微服务在消费远程API时总是使用本地缓存中的数据.因此一般来说,即使Eureka Server发生宕机,也不会影响到服务之间的调用.但如果Eureka Server宕机时,某些微服务也出现了不可用的情况,Eureka Server中的缓存若不被刷新,就可能会影响到微服务的调用,甚至影响到整个应用系统的高可用.因此,在生成环境中,通常会部署一个高可用的Eureka Server集群. Eur