由于redis集群还在开发中,现阶段我想自己搭建一个简单的。系统应支持数据分片、负载均衡和主从备份。初步方案如下:
主从:在不同地点使用多个主从对,以增强数据安全性。 Matters负责写操作,而master和slave都可以提供读服务。在一次写操作期间,数据被发送到所有主设备。主从之间使用Keepalived检测故障并自动切换主从。
数据分片:在客户端写入一致的hash,支持读写时的数据分片,以防单机内存不够。
负载均衡:使用LVS将读请求重定向到对应的服务器进行负载均衡。
我的问题是如何将LVS和数据分片结合在一起?
例如,由于数据分片,所有 key 都被拆分并存储在服务器 A、B 和 C 中,不会重叠。考虑到从机备份和其他主从对,系统将包含 1(A,B,C)、2(A,B,C)、3(A,B,C) 等,其中每一个有 3 个服务器。当读请求到来时,如何配置LVS支持重定向?或者redis中有其他方法可以实现相同的目标吗?
谢谢:)
最佳答案
您可以通过使用以下内容来真正接近您的需求:
twemproxy跨多个redis节点分片数据(还支持节点弹出和连接池)
redis Slave主从复制
redis sentinel处理主故障转移
根据您的需求,您可能需要一些脚本来监听故障转移(请参阅哨兵文档)并在主服务器出现故障时进行清理
关于redis - 如何搭建一个简化的redis集群(支持数据分片、负载均衡)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19262697/