Я использую драйвер Lettuce из данных Spring для подключения к ElastiCache с использованием транзитного шифрования. Когда я пытаюсь подключиться к Route53 CName, назначенному кластеру ElastiCache. Я получаю эту ошибку:
Caused by: com.lambdaworks.redis.RedisException: Cannot retrieve initial cluster partitions from initial URIs [RedisURI [host='my.cname.net', port=6379]]
at com.lambdaworks.redis.cluster.RedisClusterClient.loadPartitions(RedisClusterClient.java:507)
at com.lambdaworks.redis.cluster.RedisClusterClient.initializePartitions(RedisClusterClient.java:481)
at com.lambdaworks.redis.cluster.RedisClusterClient.connectClusterAsyncImpl(RedisClusterClient.java:335)
at com.lambdaworks.redis.cluster.RedisClusterClient.connectClusterAsync(RedisClusterClient.java:273)
at org.springframework.data.redis.connection.lettuce.LettuceClusterConnection.doGetAsyncDedicatedConnection(LettuceClusterConnection.java:1250)
at org.springframework.data.redis.connection.lettuce.LettuceConnection.getAsyncDedicatedConnection(LettuceConnection.java:3466)
at org.springframework.data.redis.connection.lettuce.LettuceConnection.getDedicatedConnection(LettuceConnection.java:3487)
at org.springframework.data.redis.connection.lettuce.LettuceConnection.getConnection(LettuceConnection.java:3460)
at org.springframework.data.redis.connection.lettuce.LettuceConnection.sMembers(LettuceConnection.java:1998)
... 24 common frames omitted
Вот код, который я использую для подключения:
@Bean
public static RedisConnectionFactory connectionFactory() {
Map<String, Object> source = Maps.newHashMap();
source.put("spring.redis.cluster.nodes", "my.cname.net:6379");
RedisClusterConfiguration clusterConfiguration = new RedisClusterConfiguration(new MapPropertySource("RedisClusterConfiguration", source));
clusterConfiguration.setMaxRedirects(10);
LettuceConnectionFactory factory = new LettuceConnectionFactory(clusterConfiguration);
factory.setValidateConnection(false);
factory.setUseSsl(true);
return factory;
}
Теперь, когда я заменяю Cname действительным сетевым именем, присоединенным к кластеру ElastiCache, программа работает. Кто-нибудь знает, почему происходит сбой Программы только при использовании Cname?