社区首页 >问答首页 >使用redis主/从配置的spring会话-最终的一致性问题

使用redis主/从配置的spring会话-最终的一致性问题
EN

Stack Overflow用户
提问于 2019-08-20 07:14:47
回答 1查看 166关注 0票数 0

我有一个关于春季会议的问题,那就是Redis在生产环境中的实现。由于性能原因,我们想知道如何在lettuces readFrom SLAVE_PREFFERED的主从配置中使用Redis。但我仍然对最终的一致性问题感到疑惑。在春季会话上下文中,使用lettuces RedisStaticMasterReplicaConfiguration会有问题吗?

在Redis文档中,我读到可能有不一致的数据(master写了一些东西,slave还没有收到更新)。我正在使用一个相当大的吞吐量,所以在我们在会话中保存了一些参数或在用户登录之后,我可以想象到一些更改没有传播到slave,下一个客户端请求应该利用它,但没有-因为它们还没有被slave接收到。我不能自己综合这个错误,但我认为它可能是一个极端负载的问题。有没有人遇到过这样的问题?这是一个有效的问题吗?

EN

回答 1

Stack Overflow用户

发布于 2019-08-20 07:42:13

AFAIK Redis不支持强一致性。虽然存在caveats,但WAIT命令确实提供来自特定数量副本的确认。

然而,

WAIT只能保证其他Redis实例中存在指定数量的确认副本,它不会将一组Redis实例转换为具有强一致性的CP系统:根据Redis持久化的确切配置,在故障转移过程中仍可能丢失确认写入。然而,通过等待,在失败事件之后丢失写入的概率大大降低到某些难以触发的失败模式。

此外,默认情况下复制是异步的(其他选项是使用等待),在吞吐量非常高的情况下,总是存在复制延迟的可能性。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57568431

复制
相关文章
Mysql主备一致性问题
在状态1中,客户端的读写都直接访问节点A,而节点B是A的备库,只有将A的更新都同步过来,到本地执行,这样可以保证节点B和A的数据是相同的
小土豆Yuki
2020/12/16
1.1K0
Mysql主备一致性问题
Spring的Redis配置与使用
Redis是一种特殊类型的数据库,他被称之为key-value存储 本文覆盖缓存和存储两方面进行说明,使用的是Spring 4.0和Java配置方式 存储 Redis的配置 package springmvc.rootconfig; import org.springframework.cache.CacheManager; import org.springframework.cache.annotation.EnableCaching; import org.springframework.cont
迹_Jason
2019/05/30
1.9K0
基于Docker搭建Redis Cluster ,三主三从的配置
docker network create --subnet=192.168.200.0/24 redisclusternet
yingzi_code
2019/08/31
1.8K0
认识 MySQL 和 Redis 的数据一致性问题
作者:sinxu,腾讯 CSIG 后台开发工程师 1. 什么是数据的一致性 “数据一致”一般指的是:缓存中有数据,缓存的数据值 = 数据库中的值。 但根据缓存中是有数据为依据,则”一致“可以包含两种情况: 缓存中有数据,缓存的数据值 = 数据库中的值(需均为最新值,本文将“旧值的一致”归类为“不一致状态”) 缓存中本没有数据,数据库中的值 = 最新值(有请求查询数据库时,会将数据写入缓存,则变为上面的“一致”状态) ”数据不一致“:缓存的数据值 ≠ 数据库中的值;缓存或者数据库中存在旧值,导致其他线程
腾讯技术工程官方号
2021/11/09
1.1K0
认识MySQL和Redis的数据一致性问题
1.了解一致性情况; 2.反推不一致的情况; 3.探究单线程中的不一致的情况; 4.探究多线程中的不一致的情况; 5.拟定数据一致性策略; 6.补充细节
星沉
2021/12/12
4.9K1
认识MySQL和Redis的数据一致性问题
从 Spring 的环境到 Spring Cloud 的配置
不知不觉,web 开发已经进入 “微服务”、”分布式” 的时代,致力于提供通用 Java 开发解决方案的 Spring 自然不甘人后,提出了 Spring Cloud 来扩大 Spring 在微服务方面的影响,也取得了市场的认可,在我们的业务中也有应用。
枕边书
2020/03/20
7780
从 Spring 的环境到 Spring Cloud 的配置
不知不觉,web 开发已经进入 “微服务”、”分布式” 的时代,致力于提供通用 Java 开发解决方案的 Spring 自然不甘人后,提出了 Spring Cloud 来扩大 Spring 在微服务方面的影响,也取得了市场的认可,在我们的业务中也有应用。
终码一生
2022/04/15
3070
redis主备同步配置方法
假设主机ip:10.136.16.146 port:6789 备机ip:10.136.30.144
跑马溜溜的球
2020/12/07
1.1K0
springboot 使用 redis(从配置到实战)
springboot通常整合redis,采用的是RedisTemplate的形式,除了这种形式以外,还有另外一种形式去整合,即采用spring支持的注解进行访问缓存.
Python研究者
2021/08/28
9190
微服务的灾难(5) -- 最终一致
现在的架构师总喜欢把最终一致挂在嘴上,好像最终一致是解决分布式场景下数据一致问题的金科玉律。事实上又怎么样呢?
iTesting
2019/10/29
3730
MySQL两主(多主)多从架构配置
一、角色划分 1、MySQL数据库规划 我现在的环境是:zhdy04和zhdy05已经做好了主主架构配置,现在需要的是把两台或者多台从服务器与主一一同步。 如果搭建主主环境,参照此链接! 主机名 IP 地址 角色 Mysql_server_id zhdy04 192.168.230.145 masterA 145 zhdy05 192.168.230.146 masterB 146 zhdy06 192.168.230.147 slaveA 147 zhdy07 192.168.230.148 slaveB
老七Linux
2018/05/09
7.2K3
Redis和MySQL如何保持数据最终一致性
在高并发的场景下,大量的请求直接访问Mysql很容易造成性能问题。所以,我们都会用Redis来做数据的缓存,削减对数据库的请求。但是,Mysql和Redis是两种不同的数据库,如何保证不同数据库之间数据的一致性就非常关键了。
Java编程指南
2023/01/17
7280
redis 配置密码验证_spring redis配置
1.通过配置文件进行配置 yum方式安装的redis配置文件通常在/etc/redis.conf中,打开配置文件找到
全栈程序员站长
2022/10/03
2.1K0
TensorFlow会话的配置项
01 TensorFlow配置项的文档位于这里 TensorFlow可以通过指定配置项,来配置需要运行的会话,示例代码如下: run_config = tf.ConfigProto() sess = tf.Session(config=run_config) 02 ConfigProto类配置项 对于ConfigProto类具体有如下可配置的部分。 map<string, int32> device_count:设备的数量映射。key为设备的名称(比如”CPU”或者”GPU”),而value为该类型设备的数
用户1332428
2018/03/09
2K0
MySQL 多主一从配置
MySQL 的多主一从是指,多个master机,单个slave的模式,是在MySQL5.7以后支持的
前Thoughtworks-杨焱
2021/12/07
2.1K1
Spring Boot配置Redis Sentinel的例子
拓扑(M代表redis-master,S代表redis-sentinel,R代表redis-slave,C代表Spring Boot Application):
颇忒脱
2019/07/02
3K0
Oracle RAC环境下定位并杀掉最终阻塞的会话
实验环境:Oracle RAC 11.2.0.4 (2节点) 1.模拟故障:会话被级联阻塞 2.常规方法:梳理找出最终阻塞会话 3.改进方法:立即找出最终阻塞会话 之前其实也写过一篇相关文章: 如何定位Oracle数据库被锁阻塞会话的根源 但上文给出的例子过于简单,实际对于生产中复杂的阻塞问题,一步步找最终阻塞就比较麻烦。所以本篇旨在寻求更好更快捷的办法。 1.模拟故障:会话被级联阻塞 准备工作:我这里在每个实例开两个会话来模拟RAC在负载均衡模式下的业务会话: 实例1:会话1,会话2; 实例2:会话3
Alfred Zhao
2018/05/11
1K0
Docker高级篇:实战Redis集群!从3主3从变为4主4从
通过前面两篇,我们学会了三主三从的Redis集群搭建及主从容错切换迁移,随着业务增加,可能会有主从扩容的,所以,本文我们来实战主从扩容
凯哥Java
2022/12/21
9620
Docker高级篇:实战Redis集群!从3主3从变为4主4从
缓存一致性问题
为了提升服务的性能,我们一般会把热点放进缓存,那么这些热点数据就同时存在于数据库和缓存中,缓存中的数据和数据库中的数据要保持一致,这便是缓存一致性问题。
贪挽懒月
2022/12/25
3320
缓存一致性问题
Redis如何保障缓存与数据库的数据一致性问题?
(1)读的时候,先读缓存,缓存没有的话,那么就读数据库,然后取出数据后放入缓存,同时返回响应 (2)更新的时候,先删除缓存,然后再更新数据库
名字是乱打的
2021/12/24
4660
Redis如何保障缓存与数据库的数据一致性问题?

相似问题

配置Spring Data Redis与Lettuce的Redis主备

112

如何配置Spring会话以使用xml中的Redis?

10

使用Redis的Spring会话-在Redis中键不会过期。

28

Google :处理最终一致性问题

11

Spring数据Redis与Spring会话数据Redis

27
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文