主从复制 和 哨兵模式 都是对单一节点操作 当当前的单一节点失败的时候就换下一个单一节点上来顶替
两种模式都是应对单一节点的策略 策略再优秀还是希望不再单一节点
于是产生集群模式
槽是承装数据的数据结构 只有含有槽才是真正的物理节点 至少含有1个槽
- 解决了单一节点的压力 和 单一节点的磁盘
- 多个客户端可以同时操作 因为经过算法会进入不同的节点里 节点共同分担 可以顶得住高并发的访问
- 支持客户端连接任意物理节点 因为内部可以重定向 客户端的key对应的槽就那一个 可以经过重定向过去
- 集群仍然含有主从节点这一说 所以还是可以进行容错机制 从节点把主节点的槽都复制到自己这里
- 涉及到节点不够用 要重新分配槽给所有的物理节点 就是其他的节点会把槽分给新的节点
分布式session共享
基于spring开发的应用 在配置的时候把所有的session存入全局redis中 然后再把应用放到不同的服务器
我们只用在spring应用的配置中去修改 不需要去改变服务器的配置
- 修改服务器
所有应用的session都存入memached的里面 然后把每一个服务器和memcached进行一个全局整合
当前应用如果在这个服务器里没有对应的session 那就去mamch中先去根据sessionID获取看是不是其余的服务器上有 然后进行一个复制
放入现在的服务器 如果没有找到就创建再复制
msm虽然也是mamachaer在管理Session 但其实每一次的session请求过来 都会在服务器上先创建一个所以还是服务器在管理
不再去服务器中找session 而是去redis找