• Redis学习笔记之多机数据库


    1.复制

      完整重同步,从服务器完全复制主服务器的数据,主要通过RDB文件和单条命令传输(套接字连接)。

      部分重同步,主服务器进行命令传播的时候,不仅会把写命令发送给从服务器,而且还会把写命令放入复制积压缓冲区中,当主从服务器连接断开又重新连接上的时候,从服务器向主服务器发送PSYNC命令(参数包括复制偏移量服务器运行ID)请求同步,主服务器根据复制偏移量和服务器运行ID向从服务器回复(只有当服务器运行ID与主服务器相同,复制偏移量在复制积压缓冲区中能找到才进行部分重同步)。

    2.Sentinel

      监视系统,是Redis的高可用性(HA)解决方案,由一个或多个Sentinel实例组成,负责监视所有的主服务器及其从服务器,当主服务器下线之后,Sentinel会从下线主服务器的从服务器中选择一个作为新的主服务器。

      Sential通过命令连接发送信息到频道,通过订阅连接从频道接收信息

      主观下线:Sentinel向服务器发送PING命令得到无效回复,则Sentinel判定该服务器主观下线。

      客观下线:Sentinel向其他连接该主观下线服务器的Sentinel询问,如果回复结果中判定下线(包括客观和主观下线)的数量达到一定程度就判定该服务器客观下线。

      选择领头Sentinel、选择新的主服务器

    3.集群(Redis Cluster)

      节点:一个节点就是一个运行在集群模式下的Redis服务器,会继续使用所有在单机模式中使用的服务器组件。每个节点都会使用clusterNode的数据结构来保存自己的状态,也会为其他节点创建一个对应的clusterNode的数据结构来保存其他节点的状态。

      槽:集群的整个数据库被分为16384个槽(slot),集群中的每一个节点可以处理0~16384个槽,当数据库中的16384个槽都有节点在处理时,集群处于上线状态(ok),否则处于下线状态(fail)。clusterNode结构中会记录节点负责处理哪些槽,clusterState结构中会记录16384个槽的指派信息。CRC16然后模16384取余计算键属于哪一个槽。

      对于Redis集群技术还有:客户端分片、代理分片(Twemproxy)

  • 相关阅读:
    Html5新特性之文档声明和头部信息
    HTML,CSS,font-family:中文字体的英文名称 (宋体 微软雅黑)
    转:如何进行软件架构设计?
    sql2008,sa不能使用:不能为主体 sa 中设置凭据
    用VS2012不能打开VS2010的项目
    解决sourcesafe admin用户自动登录并且不用密码的问题
    WIN7隐藏GUEST登录账户
    人人刷人气
    python文件操作
    sigmoid belief network boltszmann machine
  • 原文地址:https://www.cnblogs.com/songxh-scse/p/6692466.html
Copyright © 2020-2023  润新知