我试图让生菜在旧的失败后连接到新升级的主(以前的从)。但是所有写操作都停止了。发生故障的主机重新连接后,现在作为从设备继续写入。并继续写入新的主服务器(以前的从服务器)。
我尝试设置定期的拓 flutter 刷新以及对所有事件进行自适应的刷新,但这没有帮助。我还有其他设置要使用吗?
这是我配置客户端的方式:
final List<RedisURI> redisURIs = buildRedisURIs(redisServerSettings.getNodes());
final RedisClusterClient client = RedisClusterClient.create(clientResources, redisURIs);
final ClusterTopologyRefreshOptions refreshOptions =
ClusterTopologyRefreshOptions.builder()
.enableAllAdaptiveRefreshTriggers()
.adaptiveRefreshTriggersTimeout(Duration.ofMinutes(2))
.refreshTriggersReconnectAttempts(2)
.enablePeriodicRefresh(Duration.ofMinutes(10))
.build();
client.setOptions(ClusterClientOptions.builder().topologyRefreshOptions(refreshOptions).build());
最佳答案
我解决了问题。
由于生菜通常没有超时,因此它将永远等待服务器的响应。设置超时会导致某些事务失败,但是在失败的事务之后,读取和写入将继续。
关于java - 生菜群集中的故障转移,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58428519/