【问题标题】:What is a proper way to connect to AWS Elasticache (Redis cluster) from Java?从 Java 连接到 AWS Elasticache(Redis 集群)的正确方法是什么?
【发布时间】:2017-12-25 00:18:41
【问题描述】:

我是 AWS Elasticache redis 的新手,我在端点以下。

我对使用 JedisRedisson 感到困惑,因为两者都提供单连接和集群连接类。

就像在 Jedis 中一样,我们可以使用单个连接:

Jedis conn = new Jedis("endpoint_address");

对于集群连接,我们使用:

Set<HostAndPort> jedisClusterNodes = new HashSet<HostAndPort>();
jedisClusterNodes.add(new HostAndPort("redis_cluster_ip", 7379));
JedisCluster jc = new JedisCluster(jedisClusterNodes);

当我想使用 Redisson 时也会出现这些选项。我不想比较这两个库,我的问题是:当您只有一个端点并且仍然可以使用 AWS auto 时,哪种方法是连接到 AWS Redis Elasticache 集群的正确方法缩放功能?

预期答案是:使用 SINGLE 或 CLUSTER MODE。

谢谢:)

【问题讨论】:

  • 是的...我从 EC2 实例运行它

标签: java amazon-web-services jedis amazon-elasticache redisson


【解决方案1】:

您应该在 Redisson 中为 AWS Elasticache Redis 或其他类似托管服务使用复制配置。用法在documentation中描述。

【讨论】:

    【解决方案2】:

    这取决于您如何配置 redis 集群。是否启用集群模式。

    您可以在控制台中找到它

    http://docs.aws.amazon.com/AmazonElastiCache/latest/UserGuide/Endpoints.html

    Redis(已禁用集群模式)集群,​​将主端点用于 所有写操作。使用单个节点端点进行读取 操作(在 API/CLI 中,这些称为读取端点)。

    Redis (cluster mode enabled) 集群,使用集群的配置 所有操作的端点。必须使用支持 Redis 的客户端 集群(Redis 3.2)。您仍然可以从单个节点端点读取 (在 API/CLI 中,这些称为读取端点)。

    或使用 AWS CLI

    aws elasticache describe-cache-clusters \
        --cache-cluster-id mycluster \
        --show-cache-node-info  
    

    http://docs.aws.amazon.com/cli/latest/reference/elasticache/describe-cache-clusters.html

    ConfigurationEndpoint -> (结构) 表示一个 Memcached 集群 端点,如果在集群上启用了自动发现,则可以 应用程序使用它连接到集群中的任何节点。这 配置端点将始终包含 .cfg。例子: mem-3.9dvc4r.cfg.usw2.cache.amazonaws.com:11211

    【讨论】:

      猜你喜欢
      • 2019-09-12
      • 1970-01-01
      • 2015-11-21
      • 2020-03-31
      • 1970-01-01
      • 2018-12-29
      • 2019-07-01
      • 2021-02-05
      • 2018-05-21
      相关资源
      最近更新 更多