• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于java:Redis集群搭建

java 搞代码 3年前 (2022-02-19) 22次浏览 已收录 0个评论
文章目录[隐藏]

1 Redis集群实现

1.1 Redis集群

1.1.1 为什么要搭建集群

通常,为了进步网站响应速度,总是把热点数据保留在内存中而不是间接从后端数据库中读取。

Redis是一个很好的Cache工具。大型网站利用,热点数据量往往微小,几十G上百G是很失常的事儿。

因为内存大小的限度,应用一台 Redis 实例显然无奈满足需要,这时就须要应用多台 Redis作为缓存数据库。然而如何保证数据存储的一致性呢,这时就须要搭建redis集群.采纳正当的机制,保障用户的失常的拜访需要.

采纳redis集群,能够保证数据扩散存储,同时保证数据存储的一致性.并且在外部实现高可用的机制.实现了服务故障的主动迁徙.

1.1.2 集群搭建打算

主从划分:

3台主机 3台从机共6台 端口划分7000-7005

1.2 集群搭建

1.2.1 筹备集群文件夹

1.筹备集群文件夹

Mkdir cluster

2.在cluster文件夹中别离创立7000-7005文件夹

1.2.2 复制配置文件

阐明:

将redis根目录中的redis.conf文件复制到cluster/7000/ 并以原名保留

cp redis.conf cluster/7000/

1.2.3 编辑配置文件

  1. 正文本地绑定IP地址
  1. 敞开保护模式
  1. 批改端口号
  1. 启动后盾启动
  1. 批改pid文件
  1. 批改长久化文件门路。7000目录下
  1. 设定内存优化策略
  1. 敞开AOF模式,这个能够关,也能够开着
  1. 开启集群配置
  1. 开启集群配置文件
  1. 批改集群超时工夫

1.2.4 复制批改后的配置文件

阐明:将7000文件夹下的redis.conf文件别离复制到7001-7005中

[root@localhost cluster]# cp 7000/redis.conf 7001/

[root@localhost cluster]# cp 7000/redis.conf 7002/

[root@localhost cluster]# cp 7000/redis.conf 7003/

[root@localhost cluster]# cp 7000/redis.conf 7004/

[root@localhost cluster]# cp 7000/redis.conf 7005/

1.2.5 批量批改

阐明:别离将7001-7005文件中的7000改为对应的端口号的名称,

批改时留神方向键的应用

在cluster目录下:vim 7001/redis.conf,进入编辑页面,留神不要按i,间接输出:

:%s/7000/7001/g。输出完后回车,而后:wq。保留退出

7000是要替换的数据,7001是查找的数据。

1.2.6 通过脚本编辑启动/敞开指令

  1. 创立启动脚本 vim start.sh


  1. 编辑敞开的脚本 vim shutdown.sh
  1. 启动redis节点

sh start.sh

  1. 查看redis节点启动是否失常

1.2.7 创立redis集群

5.0版本执行 应用C语言外部治理集群

redis-cli –cluster create –cluster-replicas 1 192.168.35.130:7000 192.168.35.130:7001 192.168.35.130:7002 192.168.35.130:7003 192.168.35.130:7004 192.168.35.130:7005

1.2.8 Redis集群高可用测试

  1. 敞开redis主机.查看是否主动实现故障迁徙.
  2. 再次启动敞开的主机.查看是否可能实现主动的挂载.

个别状况下 可能实现主从挂载

个别情况: 宕机后的节点重启,可能挂载到其余主节点中(7001-7002) 正确的

1.3 Redis集群原理

1.3.1 Redis集群高可用推选原理

如图-24所示

图- 24

原理阐明:

Redis的所有节点都会保留以后redis集群中的全副主从状态信息.并且每个节点都可能互相通信.当一个节点产生宕机景象.则集群中的其余节点通过PING-P

来源gao!daima.com搞$代!码网

ONG检测机制查看Redis节点是否宕机.当有半数以上的节点认为宕机.则认为主节点宕机.同时由Redis残余的主节点进入选举机制.投票选举链接宕机的主节点的从机.实现故障迁徙.

1.3.2 Redis集群宕机条件

特点:集群中如果主机宕机,那么从机能够持续提供服务,

当主机中没有从机时,则向其它主机借用多余的从机.持续提供服务.如果主机宕机时没有从机可用,则集群解体.

答案:9个redis节点,节点宕机5-7次时集群才解体.

如图-25所示:

图- 25

1.3.3 Redis hash槽存储数据原理

阐明: RedisCluster采纳此分区,所有的键依据哈希函数(CRC16[key]%16384)映射到0-16383槽内,共16384个槽位,每个节点保护局部槽及槽所映射的键值数据.依据主节点的个数,平衡划分区间.

算法:哈希函数: Hash()=CRC16[key]%16384

如图-26所示

图- 26

当向redis集群中插入数据时,首先将key进行计算.之后将计算结果匹配到具体的某一个槽的区间内,之后再将数据set到治理该槽的节点中.

如图-27所示

图- 27


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于java:Redis集群搭建

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址