分布式一致性

缓存与数据库一致

缓存与数据库出现不一致,往往是因为主从同步延迟导致的,一种解决方案是,在写主库时,待主从同步完成后,再清除缓存,可以避免由于延迟导致从库的脏数据载入缓存,但是这样会延长更新操作的时长,影响更新效率,从而影响系统吞吐量。可以借助binlog或其它方式来异步清除缓存,或者在主库有更新,清除缓存后,从主库读取数据。

主从一致

主从不一致是主从同步延迟造成的,利用缓存可以防止读脏数据的问题。即通过缓存记录主库更新事件,事件过期时间设定为主从同步延迟的时间,(事件key可以用库、表、主键拼装)。当有读请求时,先读缓存看是否有主库更新事件,如果有则读主库,否则读从库。

双主一致

双主分两种情况,一种是双主并行作业,另一种是其中一个主作为备份。对于第一种情况,不一致主要是两台主库同时插入记录容易出现自增主键冲突的问题,解决方案是上游生成id避免冲突。第二种情况,出现不一致是因为切换到备份库时可能有同步延迟,解决办法是,用内网dns监测,在同步完成后再进行切换。

session一致

session一致性问题是在WebServer水平扩展的分布式环境下,从不同webserver读取到的session是否一致的。最佳的解决方案是,在后端用数据库或缓存统一存储,即将session存储在后端的存储层(数据库或缓存)中,这样webserver无论重启还是扩容,都不会造成session丢失。

相关推荐
闲云自留地2 小时前
云平台存储管理员:Cinder 创建挂载卷 + Swift 分布式存储原理
分布式·wpf·swift
橙子圆1235 小时前
RabbitMQ知识1
分布式·rabbitmq
clz13145217 小时前
风险特征系统 EPC 子系统:基于 Kafka 数据源与数据集配置的 Flink 指标清洗加工
分布式·flink·kafka
海上小飞龙8 小时前
分布式和微服务,一次讲清
分布式·微服务·架构
(Charon)9 小时前
【Kafka】消息队列学习(二):Topic、Partition与Offset,消息到底存在哪里
分布式·学习·kafka
陈皮波比茶1 天前
分布式任务调度xxl-job
java·分布式
敲代码的嘎仔1 天前
从集群锁失效到异步领券:我用分布式锁 + Redisson + MQ 把领券接口 RT 从 200ms 压到 15ms
java·数据库·redis·分布式·缓存·ai·wpf
lauo1 天前
FDE的终极形态:从“一个人”到“一个网络”
人工智能·分布式
雾隐隐o1 天前
Kafka 集群搭建:从核心概念到多节点部署
分布式·kafka
IT大白鼠2 天前
MySQL 分布式集群系列 · 第八篇(收官)——NDB 集群面试高频题 +架构总结与未来演进
分布式·mysql·面试