1.集群完整性
cluster-require-full-coverage 默认yes
大部分业务无法容忍。
2.带宽消耗
官方建议:1000节点 .cluster-node-timeout.
节点之间通过ping/pong消息
不可忽视的带宽消耗
3.pub/sub 广播
4.集群倾斜:内存不均匀
1.数据倾斜
节点和槽的分配不均【不常见】
包含bigkey
不同槽对应键值数量比较大【CRC16 比较均匀的】/hashtag 可能性较大
2.请求倾斜
热点key: 避免bigkey ,不要使用hash_tag,本地缓存+MQ
3.读写分离:很复杂,成本很高,扩大集群功能
只读连接:集群的从节点不接受任何读写请求 【readonly 实现】。
数据迁移
redis-trib.rb import.
不支持断点传输,单线程,不支持在线迁移
在线迁移:
redis-migrate-tool(伪装成slave 中转站) redis-port
集群限制
key 批量操作有限:例如mget 、mset 必须一个slot
key 事务和lua 支持有限:操作的Key 必须同一个节点
不支持多个数据库
复制只支持一层:不支持树形复制结构