zoukankan      html  css  js  c++  java
  • Redis Cluster集群

    Redis Cluster集群

    哨兵模式的缺陷

    在哨兵模式中,仍然只有一个Master节点。当并发流量较大时,哨兵模式并不能缓解压力,集群从redis3.0应需而生。

    集群实现了主从同步,读写分离。

    节点复制

    搭建集群最少需要六台机器,三主三从(主从都可以扩展)

    集群故障转移

    集群进行故障转移的方法和Redis Sentinel进行故障转移的方法基本一样,不同的是,在集群里面,故障转移是由集群中其他在线的主节点负责进行的,master宕机后由slave顶上,所以集群不必另外使用Redis Sentinel,当主节点从新恢复后成为主节点的从节点。

     

    分片策略

    集群将整个数据库分为16384个槽位slot,所有key-value数据都存储在这些slot中的某一个上。一个slot槽位可以存放多个数据,key的槽位计算公式为:slot_number=crc16(key)%16384,其中crc16为16位的循环冗余校验和函数。当加入新的master节点 会从已有

    的slot分配给master。

    搭建

    1、移除centos7自带低版本的ruby

    yum remove ruby
    yum install ruby
    yum install rubygems

    2、安装ruby和redis的接口程序,拷贝redis-3.0.0.gem至/usr/local下,执行安装:

    gem install /usr/local/redis-3.0.0.gem

    3、创建配置目录,单台主从共三台机器或者使用伪分布式

    在/usr/local/redis下创建redis-cluster目录,其下创建7001、7002。。7006目录

    4、创建配置文件

    port 700X
    # 开放其他IP访问,集群是必须的
    bind 0.0.0.0  
    cluster-enabled yes
    daemonized yes
    logfile /usr/local/redis/redis-cluster/700X/node.log

    替换X为对应端口,每个文件夹下都复制一份该配置

    5、指定配置文件启动Redis

    redis-server /usr/local/redis/redis-cluster/7001/redis.conf

    6、 执行创建集群命令

    进入到redis源码存放目录redis/redis-4.10.3/src下,执行redis-trib.rb,此脚本是ruby脚本,它依赖ruby环境

    ./redis-trib.rb create --replicas 1 192.168.200.228:7001 192.168.200.228:7002 192.168.200.228:7003 192.168.200.228:7004 192.168.200.228:7005  192.168.200.228:7006

    7、登录集群, -c 表示为集群-cluster

    ./redis-cli -c -h 127.0.0.1 -p 7001

    集群命令:

    cluster nodes 查询集群结点信息;

    cluster info 查询集群状态信。

    springboot配置
    spring:
    redis:
    #数据库索引
    cluster:
    nodes: 172.16.34.53:7001,172.16.34.53:7002,172.16.34.54:7003,172.16.34.54:7004,172.16.34.55:7005,172.16.34.55:7006
    password: ENC(5sqmAB/at8y9K3ckpQg/PNY0pXTSCobW)
    commandTimeout: 10000
    jedis:
    pool:
    max-idle: 5000
    max-wait: 2000
    min-idle: 5
    max-active: 1000
     

     

     
  • 相关阅读:
    Django 之Redis配置
    python之类中如何判断是函数还是方法
    Anaconda 虚拟环境安装及应用
    【转载】IDEA:XML配置提示URI is not registered
    idea中配置xml不自动提示解决方案
    Java接口成员变量和方法默认修饰符
    [转载]java中Date,SimpleDateFormat
    intellij idea 的全局搜索快捷键方法
    【转载】使用IntelliJ IDEA提示找不到struts-default文件
    【转载】Jmeter分布式部署测试-----远程连接多台电脑做压力性能测试
  • 原文地址:https://www.cnblogs.com/mzc1997/p/14308209.html
Copyright © 2011-2022 走看看