从 Redis 开始聊一聊分布式架构
一、先谈单节点的 Redis 存在的问题
单点故障 数据容量问题 连接数、请求压力问题
解决方案:AKF 思路:AKF 立方体也叫做 scala cube,AKF 把系统扩展分为以下三个维度:
X 轴:直接水平复制应用进程来扩展系统。形象的实现就是数据库的
主备模型
。Y 轴:将功能拆分出来扩展系统。形象的实现就是数据库的
分库
方案。Z 轴:基于用户信息扩展系统。形象的实现就是数据库的
分表(like:基于ID不同而分配到不同的表中)
方案。
当时引入了一个方案之后往往会出现其他的问题。
由于节点增加之后增加的问题:如何保证节点之间的数据一致?
强一致性:不允许任何数据差异。
解决思路:阻塞式的挨个把数据同步到位,再返回给用户成功与否。
弊端:当一台节点挂了就 破坏了整个系统的可用性
。
弱一致性:允许丢失部分数据
解决思路:用户请求过来之后立即返回给用户成功与否,非阻塞式的同步数据给其他数据节点。
弊端:可能在 A 节点能访问到,B 节点无法访问到 C 又能访问到,就会存在丢失部分数据的问题 破坏了数据一致性
。
最终一致性
解决思路:接受到用户的操作请求之后,主节点处理完成之后将同步操作的指定放到可靠消息队列
中,保证消息最终能达到一致。
弊端:在某一个时刻会存在数据差异,破坏了数据一致性
。
画外音:什么是主备,什么是主从?
主备:对于客户端而言只能访问到主节点。 主从:对于客户端而言所有的节点都能访问到。
二、如何搭建 Redis 主备架构
三、主备的架构,主的单点问题如何处理?
主备架构当中,主节点说到底还是避免不了单点问题?那么单纯通过人工的方式的话其实就是定时的检查端口是否还能进行通信,那么交给 redis 实现的话完全可以交给 Redis 的哨兵Sentinel
文章转载自Java壹码平川,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
国产非关系型数据库 Eloqkv 初体验
JiekeXu
148次阅读
2025-04-10 23:51:35
融合Redis缓存的PostgreSQL高可用架构
梧桐
100次阅读
2025-04-08 06:35:40
Redis概要
听溪
43次阅读
2025-04-11 10:23:10
Redis数据库——Cluster集群模式
编程Cookbook
37次阅读
2025-04-16 15:34:44
安装与配置Redis
鲁鲁
36次阅读
2025-04-11 10:26:10
使用Jedis访问Redis数据库
怀念和想念
35次阅读
2025-04-11 15:08:30
Redis改协议内幕曝光!核心开发者亲述被“踢出局”,外部贡献者几乎全跑光了!
老鱼笔记
33次阅读
2025-04-17 10:41:56
Redis geo 实战:“附近的人”实现,打造社交的新维度
老王两点中
30次阅读
2025-04-11 09:02:30
Redis提供的持久化机制
luyingjun
27次阅读
2025-04-11 15:11:05
Redis
鲁鲁
26次阅读
2025-04-07 20:14:35