Redis 主从 哨兵 集群

摘要:redis的几种部署方式的机制和原理,在windows试验了,实践部署文件windows:《主从+哨兵实践.rar》,《集群实践.rar》,下文是关键步骤和原理html

主从node

在从库redis从库节点配置主库就能够,主库会识别从库,若是有密码须要配置密码redis

slaveof <masterip> <masterport>
复制代码

哨兵算法

哨兵是检测主库从库健康状态的,当主库挂掉后会把从库升级为主库windows

监控redis主库服务,主库宕机会自动从其关联的从库选举master节点bash

# 这个是Redis6379配置内容,其余文件同理新增而后改一下端口便可,26380,和 26381。

#当前Sentinel服务运行的端口
port 26379  
# 哨兵监听的主服务器 2 是决定选举的最低票数
sentinel monitor mymaster 127.0.0.1 6379 2
# 密码
sentinel auth-pass mymaster 123
# 3s内mymaster无响应,则认为mymaster宕机了
sentinel down-after-milliseconds mymaster 3000
#若是10秒后,mysater仍没启动过来,则启动failover 
sentinel failover-timeout mymaster 10000  
# 执行故障转移时, 最多有1个从服务器同时对新的主服务器进行同步
sentinel parallel-syncs mymaster 1
复制代码

集群分区服务器

twemproxy(中间件代理技术):把整个集群空间逻辑计算为16384个哈希槽, 有多少个分区就是把这些槽平均分为多少份,经过hash计算每条数据应该存放在哪一个槽区间(意味着redis集群扩容有上限,超过了这个就要用其余处理方法),这个过程对客户端是透明的---一致性哈希算法spa

集群最好搭配主从使用,若是仅仅只是作主库集群(分片存储),其中一个分片宕机了,那整个集群就废了。代理

image.png

redis-cluster把全部的物理节点映射到[0,16383]slot(槽)上,cluster负责维护node--slot--value 客户端与redis节点直连,不须要链接集群全部的节点,链接集群中任何一个可用节点便可, 请求的数据若是不在当前链接节点redis会返回转向指令,指向正确的节点code

image.png

一致性哈希算法

实践要素 windows下搭建:

注意事项

#执行命令时候路径不能存在中文,不然直接报错
#把redis-trib.rb文件搞成utf8格式
redis-trib.rb create --replicas 0 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 
复制代码
相关文章
相关标签/搜索