Redis Cluster 运维常见问题

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 必须同一个节点
不支持多个数据库
复制只支持一层:不支持树形复制结构

你可能感兴趣的:(数据库)