Redis详解九(哨兵模式)

Redis详解九(哨兵模式),第1张

配置3个哨兵和1主2从的Redis服务器来演示这个过程。

多哨兵监控Redis

首先配置Redis的主从服务器,修改redis.conf文件如下

上述内容主要是配置Redis服务器,从服务器比主服务器多一个slaveof的配置和密码。

配置3个哨兵,每个哨兵的配置都是一样的。在Redis安装目录下有一个sentinel.conf文件,copy一份进行修改。

上述关闭了保护模式,便于测试。

有了上述的修改,我们可以进入Redis的安装目录的src目录,通过下面的命令启动服务器和哨兵

注意启动的顺序。 首先是主机(192.168.11.128)的Redis服务进程,然后启动从机的服务进程,最后启动3个哨兵的服务进程。

如果主机宕机后,启用新的主机,原来的主机回归后,会作为从机。

从单个实例配置到哨兵:

redis在 6.0 版本之后更新了一些重要的新特性

6.0之前的redis 基本上 是一个单线程的,但并不是指只有一个线程,比如说执行 unlink 操作删除大key的时候( unlink 和 del 命令一样都是用来删除key,但是 unlink 是异步的,适合删除大的key),会有单独的线程完成,不然会阻塞主线程,还有慢的IO操作的时候,也会使用单独的线程完成,还有比如持久化的时候,也是会有单独的线程来实现

6.0之后增加了多线程的实现,多线程使用在io的操作上,工作线程还是只有一个单线程,还是串行实现的,多的io线程用于 读read 或者 写write ,

多线程不会同时执行读写操作。所有多出的线程要不是全部用于 读 ,要不全部都是用于 写 。

多线程的配置默认情况下是关闭的,需要通过配置开启

如果本地没有实现 JVM 缓存,那么在大并发的情况下对redis服务器也是一种考验,所以redis提出一种客户端缓存方案

主要实现过程如下图

可以根据命令和key来控制访问连接

在redis6之前,只能通过密码来控制,还有通过 rename 来调整高危命令 flushdb , keys* , shutdown 等命令的权限。

redis6之后,提供了更细粒度的权限控制

通过增加设置,在传输的时候使用 SSL 协议,确保传输过程的安全性

当 SSL 模块开启的时候,不能使用多线程

增加 RESP3 同行协议,优化服务端和客户端之间的通信


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/300531.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-26
下一篇2023-04-26

发表评论

登录后才能评论

评论列表(0条)

    保存