多个客户端连接 对server端造成的连接很多
LVS是四层的 不处理连接 只是转发连接
引入LVS后 客户端只需要记住一个ip即可。
逻辑从客户端迁移到代理层:代理层是无状态的
代理有:tw predixy cluster 可以看codis团队的。
redis 上图知识的地址:
https://github.com/twitter/twemproxy
三台服务器 取模时可以取10 ,后续加redis时 只需移动部分数据即可。
主从模式:
集群模式:
cluster模式:
cluster模式缺点;:
解决办法 hash tag,即将数据放到一起
redis分区:http://redis.cn/topics/partitioning.html
集群移动数据:http://redis.cn/topics/cluster-tutorial.html
redis-server -p 2380 //启动server
代理一twemproxy:
连接到代理机上,可以设置key 获取key ,登录存数据的redis 可以查看具体写到哪一台机器上了。
代理机器不支持的命令:
keys *
watch
multi
代理二predixy:
https://blog.csdn.net/rebaic/article/details/76384028
代理解耦后端的复杂度,前端不需要关注很多东西。
redis自带集群:
cluster:
/root/basic/soft/redis-6.2.1/utils/create-cluster
用脚本方式建立集群:
手工建立集群:ip地址换一下 可以建立分布式集群
redis-cli --cluster create 127.0.0.1:30001 127.0.0.1:30002 127.0.0.1:30003 127.0.0.1:30004 127.0.0.1:30005 127.0.0.1:30006
–cluster-replicas 1
redis-cli --cluster help 可以学习命令
redis-cli --cluster reshard 127.0.0.1:30001 //移动槽位
redis-cli --cluster info 127.0.0.1:30001 //打印全局信息