一个最基础的Redis是什么样的
- 单点部署
稍微强点呢
- 多节点同步全量复制
细节优化迭代
- 读写分流,有了主从的概念
可用性提升-有了哨兵
- 有了外部哨兵监管,客观独立第三方
- 从这里开始就和两国文化有关了开始了……
复习下白话哨兵原理
- 外面一个哨兵集群,里面是1主2从
- 哨兵一直扫主,当普遍觉得主出问题了,就选举一个从做新的主
体现了什么思想:
西方常见的,xx机构的运作会聘请独立检测公司,定期提供检验报告/建议,代码源自生活。
仅到哨兵为止还没什么差异,各国都一样。
容量不够,有了分片原理的集群
-
集群可以简单看作复数个哨兵模式的集合,但是不再真实存在“哨兵”这一实体
- 从这里开始,话题变得危险了。
-
集群的运作体现了
- 去中心化思想
- 精英zz与选举制
- 基于【法】的多方制约
-
分了2个阶级:主与从
- 或许称之为zz团体更合适
主阶级的事,轮不到从阶级掺和,所以主的是否【失能】,由主内部决议。
确定【主】确实存在【失能】后,会公示失能情况,【从】们之中选一个上去做【主】
只有主节点们才能确定一个主节点是否失能,但失能后自告奋勇成为新【主】的权力,又是属于【从】的
权力分散,不信任任何单一主体
【从】们在知晓【主】的失能情况后,按照算【法】delay时间,自告奋勇成为新的主。
但最后决定权依旧在【主】的手里,精英zz。
从有权申请,主掌握审批,主无权选人,而从的申请又在法的限制下
从头到尾集群内是没有一个中心的注册表的,甭管主从节点都按照设计好的模式,不停拉取信息,做出对策,形成网状结构,每个人照章办事。
- 看的别扭就对了,因为这玩法就不是我们的特色
- 如果带入我们的特色会是什么样的呢?
设立一个检查组,保证检查组的纯净性可靠性(下到基层和所有节点并肩作战!),由检查组决定主是否丧失信念,然后再由检查组决定一个从晋升为主节点。 主/从节点不需要参与决策,只要接受安排
可能的问题就?:为了解决问题而又引入了新的部门机构,冗员太多,而且一旦检查组堕落了全盘皆输
优势呢?:和现实一样,举集群体制,效率高,一旦发现立刻下马,不用延迟,算法复杂度也低
溜了溜了发疯了