通过Redis笔记(一)纯小白版篇,Redis笔记(二)主从复制和Redis笔记(三)添加密码并修改默认端口后的主从同步三篇文章,我们已经能建立一个可以使用的主从复制的Redis了,例如下图:
在此基础上,我们做了读写分离,写主库,读从库,如下:
这样的确实现了读和写的分离,但是,不管是启动还是运行过程中,只要有一个redis工作不正常,哪怕另外一个工作正常,整个redis对外就不可用——主不可用时,不可写,从不用时不可读,于是出现了单点故障问题,为了解决这个问题,做了如下改进:
经过改造后,主redis和从redis只在启动前有明确的主从关系,启动时如果发现主或者从有一个不可用,那么就把读写共同指向可用的redis,为了达到运行时的高可用,把加载主从redis抽象成一个方法,当访问redis出现异常时,再次调用加载redis的方法,这样,只要在运行的过程中,有一个可用的redis,则redis就可以对外提供服务。
此为上篇,下一篇分享一下我的实现方法。
作者:ssergsw 发表于2013-12-14 9:07:05 原文链接
阅读:0 评论:0 查看评论