主从复制架构仅仅用来解决数据的冗余备份,从节点仅仅用来同步数据
无法解决: 1.master节点出现故障的自动故障转移
service network restart
vi /usr/local/redis-6.2.6/redis.conf
# 1.准备3台机器并修改配置
- master
port 6379
bind 0.0.0.0
- slave1
port 6379
bind 0.0.0.0
slaveof masterip masterport
slaveof 192.168.56.171 6379
?
- slave2
port 6379
bind 0.0.0.0
slaveof 192.168.56.171 6379
?
?
# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes
# 密码,设置后访问Redis必须输入密码
requirepass 123321
bind 0.0.0.0
port 6379
daemonize yes
requirepass 123321
?
?
?
?
?
bind 0.0.0.0
port 6379
daemonize yes
replicaof 192.168.189.134 6379
masterauth 123321
slaveof 192.168.189.134 6379
requirepass 123321
?
?
bind 0.0.0.0
port 6379
daemonize yes
replicaof 192.168.189.133 6379
masterauth 123321
slaveof 192.168.189.133 6379
requirepass 123321
???????# 2.启动3台机器进行测试
- cd /usr/redis/bin
- ./redis-server /root/master/redis.conf
- ./redis-server /root/slave1/redis.conf
- ./redis-server /root/slave2/redis.conf
查看集群信息: info replication
Sentinel(哨兵)是Redis 的高可用性解决方案:由一个或多个Sentinel 实例 组成的Sentinel 系统可以监视任意多个主服务器,以及这些主服务器属下的所有从服务器,并在被监视的主服务器进入下线状态时,自动将下线主服务器属下的某个从服务器升级为新的主服务器。简单的说哨兵就是带有自动故障转移功能的主从架构。
无法解决: 1.单节点并发压力问题 2.单节点内存和磁盘物理上限
# 1.在主节点上创建哨兵配置 - 在Master对应redis.conf同目录下新建sentinel.conf文件,名字绝对不能错; ? # 2.配置哨兵,在sentinel.conf文件中填入内容: -?sentinel monitor 被监控数据库名字(自己起名字) ip port 2 sentinel monitor mymaster 192.168.189.133 6379 1 sentinel auth-pass mymaster 123321 ? # 3.启动哨兵模式进行测试 ./redis-sentinel ?/usr/local/redis-6.2.6/sentinel.conf ? 说明:这个后面的数字2,是指当有两个及以上的sentinel服务检测到master宕机,才会去执行主从切换的功能。
id 越小 优先权越大
偏移量越大,优先权越高。
1 这是我么之前学过的注册登录模式
2 如果非常多的人访问,因为单台服务器的访问承受能力是有限的,那么我们就想用多态服务器来承担压力
3 一般通过负载均衡的方式来实现,来分担服务器的压力。
4 负载均衡解释。
官方解释: 网络专用术语,负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
大白话:nginx就是一个接受请求,然后决定请求最终那个服务器来接受,这个算法我们后面给大家讲nginx或者ribbon的时候给大家补充,但是有时候会存在这样的问题,用户1第一次请求到tomcat1, 下一次请求的时候就可能请求到tomcat2了,这样会存在session丢失,然后系统提示我们需要登录。
5 解决方案。
session 复制,也就是当一个服务器有新的session保存的时候,通过服务器通信机制,然后将session复制到其他的服务器,如果服务器较多的话,会存在大量的网路和io占用,效率低下。
redis实现session共享。