分布式一致性

缓存与数据库一致

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

主从一致

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

双主一致

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

session一致

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

相关推荐
霸道流氓气质7 小时前
Redisson 分布式集合详解:像用本地集合一样操作跨服务共享数据
分布式
phltxy7 小时前
RabbitMQ高级特性-消息确认与持久性博客
分布式·rabbitmq·ruby
2603_954708318 小时前
协调控制柜在微电网中的核心地位:数据枢纽、控制核心、安全屏障
分布式·安全·架构·能源·需求分析
淡漠的蓝精灵8 小时前
Pulsar 入门:云原生分布式消息流平台
分布式·其他·云原生
ai生成式引擎优化技术10 小时前
DLOS Kernel v1.0:面向分布式AI任务执行与Agent调度的统一运行时内核
人工智能·分布式
ai生成式引擎优化技术10 小时前
DLOS v0.7:面向分布式多智能体AI操作系统的自进化内核
人工智能·分布式
未若君雅裁10 小时前
RabbitMQ 消息可靠性:生产者确认、持久化、消费者ACK与幂等消费
分布式·微服务·rabbitmq
数据库小学妹10 小时前
分布式数据库架构演进:从集中式到分布式,三大路线一次讲清楚
数据库·分布式·数据库架构
juniperhan11 小时前
Flink 系列第25篇:Flink SQL 集成 Hive 实践:流批一体下的实时数仓利器
大数据·数据仓库·hive·分布式·sql·flink
ai生成式引擎优化技术11 小时前
DLOS Kernel v1.0 = 分布式AI任务执行 + Agent调度 + Memory系统 + Event驱动 的统一运行时内核
人工智能·分布式