- A+
首先先看一下Redis 的高可用高并发演变过程
图就是那么个意思,不一定代表正确的连接状态
首先我们把 Redis 当作一个管理仓库的搬运工,刚开始单干,所有的客户找上门,搬运工一个人进行货物录入和这批货在仓库里放多长时间。然后登记完了之后,自己再把货物搬进仓库归置收纳好。当有客户来取货的时候,搬运工在通过客户给的货品名称去找
最开始我们只有一台机器部署redis,全部的读写操作都在这台机器上。单台机器处理所有的读写操作
最开始搬运工还扛得住,后来搬运工打出名声了,越来越多的人来了。这时候有登记收纳货物又同时搬货出库的,搬运工终于有一天觉得扛不住了,多盖了两个仓库,招了两个小弟来管理,这时候有货物进来,搬运工自己登记再把货物归置好,每隔一段时间就通知小弟来这里去一部分货物,这时候两个小弟自己再来搬运工的仓库把搬走一部分货物,有人来取货,直接找小弟的仓库去取,这样轻松了很多
天有不测风云,人有旦夕祸福,有一天搬运工病了,仓库关门了,然而小弟不知道,这时候多了很多人来要货,小弟的仓库还没有,因为这几天大哥一直没通知去搬货啊。这怎么回事啊,后来医生给搬运工治好病之后,仓库才恢复正常,但是这一病,可丢失了很多的客户啊,这时候搬运工觉得是不是可以引入监工,来检测仓库是不是正常运转,当然了,有了这次教训监工不能雇一个,否则监工病了怎么办,所以还得有一个跟班的监工,但是监工头子病了,一个跟班监工做不了主怎么办呢,那就多来几个,保证任何一个病了,都有别人商量,并且监工还会告诉客户在哪里拿货最快,哪个仓库人最少等一系列的职责
这样一来能解决大部分的需求了已经,但是当搬运工越做越大,客户越来越多,仓库的容量告急了,这时候可以在原仓库的基础上升级一下仓库内存,但是搬运工租的那个地方始终是有面积限制的,这时候搬运工想到了让别的地方也复刻自己的方式,最终来形成一个大集团,用户再来进行货物存储的时候只需要根据指示去他所在的办事处处理就ok了,这样越来越多的货物也能完美的装下了
由此可见,哨兵是解决了 Redis 的高可用,而 cluster 则是解决了 Redis 的高并发
原文链接:https://blog.csdn.net/qq_27631797/article/details/105385576