1.Redis Cluster完整结构
- 在Redis Cluster必须至少有6台服务器
- 在Redis Cluster每一台分片服务器都必须是一个主从结构
- 在Redis Cluster中可以给主服务器分配槽,只要给主服务器分配了槽,那么这个主服务器就变成了分片服务器。
- 由于每个分片都是主从复制结构, 所以就保证了数据的’安全性’和’可分流性’
- 但是Redis Cluster的’高可用性’并不依赖于Redis Sentinel,
在Redis Cluster中它自己实现了Redis Sentinel高可用相关功能 - 由于每一台分片服务器都是主从结构,每一台主分片服务器都是可读可写的,
所以为了保证数据能够正确的写入到对应槽值的服务器中
为了保证能够正确的从对应的服务器中取出对应槽的数据
所有主分片服务器之间都是互相通讯的(也就是知道其它分片服务器的存储,和保存槽的范围) - 在设置或获取数据时
- 如果当前访问的分片服务器中保存了对应的数据, 就直接返回对应的数据
- 如果当前访问的分片服务器中没有保存对应的数据, 由于分片服务器之间是相互通讯了
那么就会返回保存对应数据的那台分片服务器的地址给用户,
用户可以根据返回的地址到对应的分片服务器上获取对应的数据
2.搭建方法两种:
2.1 redis,命令行方式搭建
比较复杂,但可以完整Cluster的完整结构
2.2 Redis官方提供的Ruby脚本搭建
比较快捷