zoukankan      html  css  js  c++  java
  • Redis-搭建简单集群

    主从复制,读写分离

    一般读的操作都在从机,写的操作在主机,

    info replication 查看当前库的信息
    

    最少要一主二从,后台文件都需要改需要三个配置文件,三个端口,dump文件要改,日志文件现在不能为空了,需要对应,pidfile文件需要修改。设置79,80,81三台服务器

    默认情况下,每个redis服务器都是主机,我们一般只需要配置从机就行了。

    所以我们现在配置后面两台80,81

    slaveof 127.0.0.1 6379 这就配置好了一台从机,另一台也这么配置
    此时我们去主机看一下
    info replication
    这种配置是暂时的,永久配置要去修改配置文件
    

    文件配置主从

    配置文件下有replication这一部分
    

    主机可以写,从机只能读不能写。主机中的所有信息都会被从机复制保存

    自己测试一下,在主机和从机读和写会报什么错误

    当我们没有配置哨兵的时候,如果主机宕机了,默认情况下,从机还是依然是连接到主机的,但是因为主机断了,没有办法写入了,只能读,不会自动成为一个主机。如果主机重新连接回来,我们还是可以拿到主机新加的数据。这在一定程度维护了高可用

    如果使用命令行配置的主从,如果重启就会变为主机,若变成从机,就会立刻从主机中获取值

    复制原理

    全量复制,在第一次连接主机的时候,会把所有的数据都复制过来

    增量复制,在连接过程中,主机新增了数据,那么会把新的数据复制过来。

    如果主机断开连接,我们可以使用下面的命令使自己变成主机,其他的节点就可以手动连接过来,但是注意,都是手动改的 
    slaveof no one
    

    哨兵模式

    哨兵模式是主从里非常重要的

    自动选择主机的模式,其实上面的手动改主机就是哨兵模式的原理

    只有一个哨兵,可能存在问题,所以一般是采用多哨兵模式

    主观下线,客观下线

    在多哨兵的情况下,如果有一个哨兵检测到主机不可用,那么不会马上进行投票重新选主机,只有当达到多个哨兵都检测到主机不可用,才会发起投票,重新选择主机

    哨兵配置文件,sentinel.conf

    sentinel monitor myredis 127.0.0.1 6379 1
    #sentinel monitor 被监控的名字,随意填 主机地址 端口 1,表示启动投票
    这是最最基本的配置
    

    哨兵这里有一个投票的算法

    优点:

    1哨兵集群,基于主从复制的模式,所有主从的优点,他都有

    2主从可以切换,故障可以转移,系统的可用性更好

    3哨兵就是主从的升级,从手动到自动

    缺点:

    1redis不好在线扩容,集群容量一旦达到上限就很麻烦

    2实现哨兵模式是很麻烦的,里面有很多选择,上面只是最最基本的

    看看哨兵模式的全部配置

  • 相关阅读:
    js简单地发送一个请求
    浏览器缓存知识归纳
    文本选择问题: css & js
    闭包和重写函数 返回IE浏览器版本号
    新项目启动 考虑问题
    Angular 单元格合并
    pointer-events 使用场景
    移动开发 新建空白页面
    CSS Tip
    垂直居中方法
  • 原文地址:https://www.cnblogs.com/chiyun/p/14082141.html
Copyright © 2011-2022 走看看