Redis Cluster机制Redis Cluster模式通过分布式架构解决高可用性和性能扩展问题。集群至少需要6台服务器自动分配master和slave角色。数据存储基于16384个hash槽每个槽约512KB可调整。master节点负责写入数据slave节点同步数据并提供读服务。master节点间进行健康检查当master故障时其slave中数据最接近的节点会晋升为新master。Hash槽分配集群创建时hash槽由master节点均分。例如3个master节点时master010~5460master025461~10922master0310923~16383面试常见问题集群原理分布式hash槽与故障转移机制服务器数量master节点需为奇数至少3台总节点建议6台部署方式通过redis-cli指定集群IP和副本数量与哨兵模式区别Cluster同时扩展读写性能哨兵仅保证高可用Redis优化策略内存管理定期执行MEMORY PURGE回收内存碎片调整maxmemory-policy选择合适淘汰策略如volatile-lru持久化优化RDB调整save阈值如save 900 1并启用rdbcompressionAOF使用auto-aof-rewrite-percentage减少重写频率故障预防缓存穿透布隆过滤器拦截无效请求缓存击穿互斥锁重建热点数据缓存雪崩随机过期时间多级缓存ELK日志分析系统核心组件Elasticsearch分布式搜索与存储Logstash日志收集与处理管道Kibana数据可视化平台部署流程Elasticsearch集群配置至少2节点如es01、es02确保cluster.name一致Logstash配置输入如文件路径、过滤器如grok解析、输出到ESinput { file { path /var/log/nginx/access.log } } filter { grok { match { message %{COMBINEDAPACHELOG} } } } output { elasticsearch { hosts [es01:9200] } }Kibana配置elasticsearch.hosts指向ES集群通过5601端口访问服务器规划示例192.168.110.129ES01 Nginx Logstash≥5GB内存192.168.110.130ES02192.168.110.131Kibana日志类型支持系统日志/var/log/messagesNginx访问/错误日志自定义日志如Log4j、慢查询日志需通过grok或正则解析