首页 » redis » 正文

redis读写分离下的高可用设计与实现(上)

通过redis安装及测试Redis主从复制Redis添加密码并修改默认端口后的主从同步三篇文章,我们已经能建立一个可以使用的主从复制的Redis了,例如下图:

在此基础上,我们做了读写分离,写主库,读从库,如下:

这样的确实现了读和写的分离,但是,不管是启动还是运行过程中,只要有一个redis工作不正常,哪怕另外一个工作正常,整个redis对外就不可用——主不可用时,不可写,从不用时不可读,于是出现了单点故障问题,为了解决这个问题,做了如下改进:

经过改造后,主redis和从redis只在启动前有明确的主从关系,启动时如果发现主或者从有一个不可用,那么就把读写共同指向可用的redis,为了达到运行时的高可用,把加载主从redis抽象成一个方法,当访问redis出现异常时,再次调用加载redis的方法,这样,只要在运行的过程中,有一个可用的redis,则redis就可以对外提供服务。

此为上篇,下一篇分享一下我的实现方法。

发表评论