redis

redis集群

2020-09-01  本文已影响0人  Geroge1226

1、业务背景

在实际生产中使用redis,如果只使用单节点方式会存在以下问题。
(1)redis所在服务宕机,或者是进程死掉,则服务继续使用过redis提供服务,而且如果redis服务硬盘坏掉及时做了持久化,也会将数据丢失掉。
(2)单个redis服务内存大小有限,如果所有操作都让一个服务器来承担。也是有问题的。
基于以上,我们会考虑到使用redis集群

2、集群详解

2.1 集群中的角色
redis-server --port 6380 --slaveof 127.0.0.1 6379

3、主从复制原理

4、redis哨兵

介绍
哨兵是一个独立进程,可以集群部署哨兵。

image.png

哨兵作用:

(1)监控主数据库和从数据库是否正常运行
(2)主数据库出现故障时自动动讲从数据库转换为主数据库。

默认redis目录下有sentinel.conf文件。


image.png
[longshiyang@lsyPro redis-5.0.5 ]$ redis-sentinel sentinel.conf 
5226:X 01 Sep 2020 15:03:28.822 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
5226:X 01 Sep 2020 15:03:28.822 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=5226, just started
5226:X 01 Sep 2020 15:03:28.822 # Configuration loaded
5226:X 01 Sep 2020 15:03:28.823 * Increased maximum number of open files to 10032 (it was originally set to 256).
                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 5.0.5 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in sentinel mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 26379
 |    `-._   `._    /     _.-'    |     PID: 5226
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

5226:X 01 Sep 2020 15:03:28.827 # Sentinel ID is d13aa7a2bd051001a1dccc5c1d7e97d31986107f
5226:X 01 Sep 2020 15:03:28.827 # +monitor master mymaster 127.0.0.1 6379 quorum 2
5226:X 01 Sep 2020 15:03:28.829 * +slave slave 127.0.0.1:6380 127.0.0.1 6380 @ mymaster 127.0.0.1 6379
5226:X 01 Sep 2020 15:03:28.829 * +slave slave 127.0.0.1:6381 127.0.0.1 6381 @ mymaster 127.0.0.1 6379
4.1 哨兵生命周期中

(1)每10秒会向主数据库和从数据发送INFO命令
(2)每2秒会向主数据库和从数据库的sentinel:hello 频道发送自己的小心
(3)每1秒会向主数据库,从数据库和其他哨兵节点发送PING命令。

上一篇下一篇

猜你喜欢

热点阅读