多哨兵监控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 同行协议,优化服务端和客户端之间的通信
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)