例如:
主 —keppalived— 从
192.168.1.156:9001 192.168.1.156:9003
192.168.1.156:9002 192.168.1.156:9004
这个例子就是redis 主从互备 ,并且利用 keppalived 来检测心跳,如果发现主库挂掉了就会立马踢出主库从而访问就使用从库,以至于服务能照常运作。
如何根据业务来使用搭建redis环境:
1、以上案列如果要使用 redis 乐观锁+事务 ( watch 和 multi )特性 就必须是单台机器,因为这些特性不支持集群,(如果研究的更深应该可以通过相关脚本控制,但在这里不讨论);缺点是影响性能,解决办法:但可以做分布式,多加几台机器并且根据业务(业务拆分)或者到达一定的数量来分开存储到各自的机器上;当然读取的时候每一个客户端可以同时访问多加出来的那几台机器获取key,不矛盾的,因此效果能达到集群方式。
2、以上案列如果不需要使用 1中的特性 可以做集群同时做主从,做集群的好处是性能方面更高,因为根据N个客户端请求,可以放进任何一台redis服务器中(但肯定不是每台都一有份)这样就分散了单台机器的存储和性能压力,分散了并发流量。