• Redis主从复制


    主从复制

    1.redis.conf(配置文件信息)

    – port 6380; 从服务端口号

    – slaveof 127.0.0.1 6379;指定主服务器

    2.启动从数据库

    ./bin/redis-server ./redis/config --port 6380 --slaveof 127.0.0.1 6379

    哨兵模式

    当redis在做master-slave的高可用方案时,假如master宕机了,redis本身(及很多客户端)都没有实现自动进行主备切换,而redis-sentinel(哨兵)本身也是独立运行的进程,可以部署在其他与redis集群可通讯的机器中监视redis集群

    哨兵模式特点:
    1.不时地监控redis是否按照预期良好的运行
    2.如果发现某个redis节点运行出现状况,能够通知另外一个进程(比如它的客户端)
    3.能够进行自动切换,当一个master节点不可用时,能够选举出master的多个slave中的一个来作为新的master,其他的slave节点会将它所追随的master的地址改为被提升为master的slave地址
    4.哨兵为客户端提供服务发现,客户端链接哨兵,哨兵提供当前master的地址然后提供服务,如果出现切换,也就是master挂了,哨兵会提供客户端一个新地址

    Redis Cluster集群

    Redis集群搭建的方式有很多,redis3.0后版本支持redis-cluster集群,至少需要3个Master和3个Slave才能建立集群。Redis Cluster采用无中心结构,每个节点保存数据和整个集群状态,每个节点都和其他所有节点链接

    特点:
    1.所有redis节点彼此互联,内部使用二进制协议优化传输速度和带宽
    2.节点的fail是通过集群中超过半数的节点检测失效时才生效
    3.客户端和redis节点直连,不需要中间层proxy层,客户端不需要链接集群的所有节点,连接任意一个可用节点即可
    4.redis-cluster把所有的物理节点映射到[0-16383]哈希槽上(不一定平均分配) cluster负责维护
    5.Redis集群分好16384个哈希槽,当需要在Redis集群中放置一个key-value时,redis先对key使用crc16算法算出一个结果,然后把结果对16384取余,这样每个key都会对应一个编号在0-16383之间的哈希槽,redis会根据节点数量大致均等的将哈希槽映射到不同的节点

    Redis Cluster节点分配

    Redis Cluster采用虚拟槽分区,所有的键根据哈希函数映射到0-10683个整数槽内,每个节点负责维护一部分槽以及槽所映射的键值数据

    三个主节点分别是:A,B,C三个节点,它们可以是一台机器的三个端口,也可以是三台不同的服务器,那么,采用哈希槽(hash slot)的方式来分配16384个slot的话,他们三个节点分别承担的slot区间是
    节点A覆盖0-5460
    节点B覆盖5461-10922
    节点C覆盖:10923-10683

  • 相关阅读:
    DVWA-弱会话IDS
    Java自学第8课:电商项目(3) - 重新搭建环境
    web蓝桥杯真题:绝美宋词
    LabVIEW应用开发——VI模块化
    2024最新VMware Workstation Pro下载教程
    WGCLOUD的web ssh提示websocket服务连接已断开
    windows bat 批处理常用命令
    Mysql集群及高可用-Gtid模式2
    骨干全光网技术发展趋势探讨
    Linux进程通信-POSIX IPC
  • 原文地址:https://blog.csdn.net/qq_56892136/article/details/126314991