Я использую AWS ElastiCache (Redis) в режиме кластера.У меня есть две реализации для подключения к ElastiCache.Одной из реализаций является непосредственное использование собственного драйвера Lettuce, а другой - использование данных Spring с Lettuce в качестве нижнего драйвера.AWS ElastiCache имеет конечную точку конфигурации кластера.Я хочу использовать эту конечную точку для подключения к ElastiCache.Я могу успешно подключиться к ElastiCache, используя конечную точку кластера с собственной реализацией драйвера Lettuce, но получаю ошибку ниже при использовании данных Spring с конечной точкой кластера
Данные Spring: 1.8.9-RELEASE (Использование более высокой версии Springне вариант)
Салат: 4.5.0-FINAL
@Bean
public LettuceConnectionFactory redisConnectionFactory() {
LettuceConnectionFactory lettuceConnectionFactory = new LettuceConnectionFactory();
lettuceConnectionFactory.setHostName(<cluster_endpoint>);
lettuceConnectionFactory.setPort();
lettuceConnectionFactory.setUseSsl(Boolean.valueOf(useSsl));
//lettuceConnectionFactory.setPassword(password);
return lettuceConnectionFactory;
}
Ошибка:
Caused by: org.springframework.data.redis.RedisSystemException: Error in execution; nested exception is com.lambdaworks.redis.RedisCommandExecutionException: MOVED 12894 cache---.usw2.cache.amazonaws.com:6379
at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:50)
at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:48)
at org.springframework.data.redis.connection.lettuce.LettuceExceptionConverter.convert(LettuceExceptionConverter.java:41)
Работает нормально в следующих двух сценариях -
1)Я использую конечные точки узла кластера и внедряю в LettuceConnectionFactory
через RedisClusterConfiguration
.
2) Если я использую салат в качестве прямой реализации (не через данные Spring), используя StatefulRedisClusterConnection
.
В чем может быть причина двух вышеупомянутых ошибок?Я бы предпочел использовать салат с данными Spring, используя конечную точку конфигурации кластера.