Redis中怎么搭建一个横向集群


本篇文章为大家展示了Redis中怎么搭建一个横向集群,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.概述:在redis3.0版本之前只支持主从复制(纵向集群),纵向集群解决了读的压力,但是写的操作只能在主库上完成。redis3.0版本之后包括3.0可以支持横向集群,本文章尝试介绍redis的横向集群以及如何在真实环境中搭建。2.实现原理:Redis集群中有16384个哈希槽,而每一个key都是哈希槽的一部分,所以只要计算出key的哈希槽,就知道这个key对应16384中的哪一个,计算原理是对key的CRC16取模16384,而Redis群集中的每个节点都负责哈希槽的子集,有多少个节点就把哈希槽分成几片。比如有A,B,C 3个节点集群,哈希槽的分配大概如下:节点A包含从0到5500的哈希槽。节点B包含从5501到11000的哈希槽。节点C包含从11001到16383的哈希槽。比如我的key是name计算出的哈希槽 是 100,100这个哈希槽在节点A,所以自然的redis就把这个值存到节点A的redis服务器上,获取数据也是先计算key的哈希槽,然后再去对应的节点获取数据,从而读写都实现了集群。3.搭建横向集群实例基础环境:centos7系统 ,redis版本5.0.6(目前的最新版本)实例情况:创建6个redis服务器,3台主库3台从库,即每台主库分配一台从库,如果主库发生故障,则从库可以进行故障转移升级为主库1.下载安装redis把新建六个目录,用来存放6台redis服务和对应的配置文件把编译后的redis-server和redis.conf文件分别复制到新建的六个redis目录分别配置这六台服务器的redis.conf需要修改的参数如下:port 每台服务器对外的端口这里我为每台分别分配如下 6001 6002 6003 6004 6005 6006cluster-enabled yes 打开这个配置且值为yes,指定redis为集群节点启动cluster-config-file nodes.conf 指定节点配置文件daemonize yes 让每台redis以守护态启动(后台启动)分别修改每台redis服务器的配置文件redis1服务器redis.conf配置修改如下redis2服务器redis.conf配置修改如下redis3,redis4,redis5,redis6以此类推修改对应的配置文件配置好六台服务器之后,分别启动六台redis服务器这时我们六台服务全部启动了,下一步就是将这六台服务器创建成一个集群使用redis-cli创建集群此时控制台提示输入yes,输入yes回车即可出现以下说明创建成功!创建集群完毕后会提示All 香港云主机16384 slots covered接下来用命令行工具测试:我们发现从6001这个服务器保存的数据,系统自动分配到6002这个服务器中了,说明横向集群搭建完毕!2.集群配置参数说明# 如果是yes,则启用Redis Cluster支持,如果是no,则redis会独立启动
cluster-enabled
# 这个文件是redis集群节点每次发生更改时都会自动持久保存集群配置的文件,用户不可编辑
cluster-config-file
# Redis群集节点不可用的最长时间(如果在设置的时间内,不当做失败处理)
cluster-node-timeout
# 如果设置为0,则从服务器将始终尝试对主服务器进行故障转移,而不管主服务器和从服务器之间的链接保持断开状态的时间长短,如果该值为正,则将最大断开时间计算为节点超时值乘以此选项提供的系数
cluster-slave-validity-factor
# 一个主机将保持连接的最小数量的从机
cluster-migration-barrier
#如果设置为yes,默认情况下,如果某个节点未覆盖一定比例的key空间,集群将停止接受写入。如果该选项设置为no,即使仅可以处理有关key子集的请求,群集仍将提供查询。
cluster-require-full-coverage
上述内容就是Redis中怎么搭建一个横向集群,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注开发云行业资讯频道。

相关推荐: Win7系统中优化计算机服务功能的方法是什么

今天就跟大家聊聊有关Win7系统中优化计算机服务功能的方法是什么,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。在win7系统中,有一项名为服务的功能。通过启动和关闭服务,可以达到管理相关功能的目的。也可…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 07/26 10:03
下一篇 07/26 10:03

相关推荐