[英]Lettuce - Java - AWS ElastiCache - Redis - Connection Timeout
我对 Redis 和 AWS ElastiCache 服务完全陌生。 我创建了一个 Redis 集群(5.0.6 v),其中包含 1 个分片、2 个节点、没有传输中加密、没有静态加密、没有 Redis Auth 和禁用多可用区。
我可以看到 Primary Endpoint、Reader Enpoint 并单击集群,可以看到 2 个节点端点与主端点和读取器端点不同。
我正在使用带有普通 maven 项目的生菜进行连接,但连接超时。 我尝试使用上述端点的所有组合都没有运气。 我已将我的 ec2instance(我在其中运行代码)添加到 ElastiCache 子网组。 仍然没有运气。
使用的代码:
RedisClusterClient clusterClient = RedisClusterClient.create(Arrays.asList(node1, node2));
StatefulRedisClusterConnection<String, String> connection = clusterClient.connect();
RedisAdvancedClusterAsyncCommands<String, String> asyncCommands = connection.async();
pom(仅依赖项):
<dependency>
<groupId>io.lettuce</groupId>
<artifactId>lettuce-core</artifactId>
<version>5.2.2.RELEASE</version>
</dependency>
我有普通 java-maven 的用例,没有像 spring boot 这样的框架
感谢您的帮助。
如果有人正在寻找连接到 ElastiCache 主节点的类似问题,这可能会有所帮助:修改安全组入站流量并使用以下 model 客户端创建解决:
RedisURI upstreamUri = RedisURI.Builder.redis(primayNodeUrl, 6379).build();
RedisClient redisClient = RedisClient.create();
StatefulRedisMasterReplicaConnection<String, String> connection =
MasterReplica.connect(
redisClient,
StringCodec.UTF8,
upstreamUri);
connection.setReadFrom(ReadFrom.REPLICA_PREFERRED);
RedisAsyncCommands<String, String> asyncCommands = connection.async();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.