redis-cluster集群配置和主从
2018-01-21 23:15
381 查看
写在前面的问题: 1 集群中的副本是不是只有在主服务器出问题的时候才会提供服务,那这样是不是会太浪费了,我试了一下设置为副本之后是无法在设置为slave的,如果是我说的这样,那配置集群的时候直接不设置副本,而直接将副本设置成主从的从服务器岂不是更好,那问题又来了,如果保证主服务器在出问题之后,从服务器能顶上去呢?以为集群中可以直接切换,但设置成主从模式之后没找到方法,因为主从是为了负载均衡而集群才是为了高可用!! 最近公司业务进行调整,想把memcache服务器替换成redis集群,听起来是不是高大上,老大定了一个基本架构,用redis-cluster搭建,3主3从的配置,但经过分析之后发现我们现在的业务根本用不着分区,所有数据放到1个实例中就可以,这样配一个1主1从就可以,为了高可用,最多配个1主2从就够了,那么问题来了,主从和集群是一回事吗?有什么关系呢? 刚好,今天我一同学问了我一个非常经典的问题,什么是集群。我们用过mysql集群,用过redis集群,早些时候还用过memcache集群,那有没有仔细分析过什么是集群呢?这个名词,一听都知道,但仔细分析起来可能并不是那么简单吧!!! 首先,明确几个名词 <1>实例:即一个redis服务,一台机器上可以装1个或多个实例,相当于程序开发中类的实例 <2>节点:一个或多个实例组成一个节点。一个节点可以包含0-100%的项目的数据,比如集群中有3个节点,则平均每个节点包含项目的33%的数据,而每个节点加入包括10个实例,每个实例占用一台服务器那就是10个服务器,我们可以做成1主9从,也可以做成5主5从。 <3>集群:由很多节点组成的,为了解决数据量太大而分区的技术。 这么说吧,有两种业务逻辑,第一:项目数据量不大,但访问量很大,一个redis实例就能存放所有的缓存数据,这时候我们就不需要用到集群,只需要配置主从即可。第二:项目数据库很大,一个redis实例无法存放所有的缓存数据,这时候我们就需要用到实例,将数据平均分配到不同的分区中去,在联合主从完成负载均衡。也就是说集群和主从不是一回事,主从是为了负载均衡,集群是为了高可用。但他两个一般是配合使用的,就像你数据量大的时候不可能访问量不大,如果访问量不大,那我们放到redis中干什么?直接穿透到数据库不就可以吗!!! 下面说一下redis-cluster的配置过程、注意事项以及在实际开发过程中可能会遇到的问题 配置集群网上有很多很多的教程,这个过程是比较简单的,没有什么特别注意的地方,安装完成之后,用客户端访问的时候是通过 <1>./redis-cli -p 7000 访问的,这时候如果想要访问到集群用加一个参数-c,也就是redis-cli -p 7000 -c,如果不加-c的话进去的是单个redis实例 <2>redis集群的常用命令,进去到客户端之后, <2.1>cluster nodes:列出集群中所有节点,及这些节点的相关信息,比如那些几点是主节点,那些是从节点,以及比较重要的每个节点占用的槽的起止点 <2.2>cluster info打印集群信息,貌似没什么重要的 <2.3> redis复制的命令 <1>配置基本的复制功能非常简单,一种方法两种变体;其一:在配置文件中设置slaveof masterip masterport;设置slaveof参数后面跟主服务器的ip和端口;第二:使用slaveof命令,在从服务器中设置手动指定也是这种方法slaveof masterip masterport 首先不懂的问题:这里我们选择要搭建的集群为6台机器 <1>因为集群和主从完全是两回事,一般我们会联合使用,所以,我们设置了集群之后,一般会在给集群设置主从,从理想化的角度上讲,集群和主从至少需要6台机器是吗?高可用主从的最低配置是一主二从的三台机器,主服务器挂了之后可以立即启用一台从服务器做当做主服务器。那结合到集群的概念,最少两个分区(即整个项目的数据分两份)那就是2个一主二从,6台机器。集群里也有自己的备份机制,即如果现在有6台机器,设置一个副本数的参数,如果设置为1,那么有一个副本,即分区为3台机器,另外3台机器做备份,但注意:这里的3台备份用的机器是不对外提供服务的,只有当主机器出现问题时备份的机器才会提供服务,那么多浪费啊,应该和主从一样有效的利用起来啊!!!那集群和主从怎么结合呢?? <2>这里明确一个问题,搭建集群的意义,保证数据的正常访问,高可用性,如果现在有一台机器挂了怎么办?如果现在机器不够用,需要新添加一台服务器怎么办? <3>现有6台机器,设置副本数为1,端口号分别为7000-7005,7000-7002为主服务器,7003-7005为副本,那分别是如何对应的呢?也就是说7000这个主服务器的备份是那一台机器?
相关文章推荐
- Redis3.0.7 cluster/集群 安装配置教程
- Redis Cluster集群配置
- Redis主从复制和集群配置
- Redis集群主从复制(一主两从)搭建配置教程【Windows环境】
- 王高利:CentOS6.5下redis安装部署配置指南、常用命令、主从同步集群、redis-php学习资料整合详解
- redis集群(主从配置)
- Redis主从复制和集群配置
- Redis集群(四):主从配置二
- Redis主从复制和集群配置
- redis 主从集群说明及配置
- Redis-cluster集群【第三篇】:redis主从
- Redis-3.2.0集群配置(redis cluster)
- redis集群(主从配置)
- redis集群(主从配置)
- Redis主从复制和集群配置系列之六(redis集群节点新增、删除、重新分配slot实战)
- redis主从和集群配置
- Redis主从集群的Sentinel配置
- Redis主从复制和集群配置
- Redis主从集群的Sentinel配置
- Redis主从复制和集群配置