集群最佳实践
集群完整性问题
在redis的默认配置中,如果发现任意一个插槽不可用,则整个集群都会停止对外服务:
为了保证高可用特性,这里建议蒋cluster-require-full-coverage配置为false
集群带宽问题
集群节点之间会不断的互相ping来确定集群中其他节点的状态。每次ping携带的信息至少包括:
l 插槽信息
l 集群状态信息
集群中节点越多,集群状态信息数据量也越大,10个节点的相关信息可能达到1kb,此时每次集群互通需要的带宽会非常高。
解决途径:
① 避免大集群,集群节点数不要太多,最好少于1000,如果业务庞大,则建立多个集群。
② 避免在单个物理集中运行太多redis实例
③ 配置合适的cluster-node-timeout值