首页 文章

使用jedis客户端从spring开始使用Redis集群

提问于
浏览
3

我已经使用jedis将redis集成到我的spring web应用程序中(redis支持来自AWS Elastic cache) . 使用单个节点可以使用单个jedis连接工厂进行写入和读取 .

我现在需要将其扩展到一个集群,以便写入主节点并从辅助节点读取 . 即如果一个发生故障,那么AWS会自动进行复制,在这种情况下,我将连接的主机名将会发生变化 .

如何读取进入图片的新节点?

我怎样才能从spring容器(我的意思是XML文件)连接到它?

请,任何人都有有用的建议,以实现上述方案 .

我将不胜感激任何可能有助于解决上述问题的链接或代码 .

截至目前,我正在使用一个连接工厂,使用jedis和redis模板进行操作 .

2 回答

  • 4

    您无需做任何事情,AWS ElastiCache将处理故障转移 .

    您有一个带有两个节点(主节点和副本节点)的redis群集 . 如果主节点发生某些情况,则会自动故障转移到副本节点 . The failover happens at the replication group node DNS level

    It is very important that your application connects to the Replication Group Node and not to the primary node url/ip directly

    您可以在ElastiCache中找到复制组 endpoints - >复制组 - >(选择您的复制组)在底部显示节点组详细信息主 endpoints 示例myReplicationGroup.8asdas.ng.0001.use1.cache.amazonaws.com:6379

    在故障转移的情况下,有一些停机时间 . 根据我的经验,它不到1分钟 .

    失败的节点返回后,它可能成为辅助节点,并且如果启用了多可用区,则保持不变

  • 0

    当任何节点出现故障时,一切都在发生,没有任何干预 . 您也无需为此故障转移编写任何代码 . 您所要做的就是使用Redis Elasticache集群的DNS名称而不是其IP .
    例如,假设您有1个主服务器和2个服务器 . 当主设备发生故障时,新的从设备将被自动选为主设备,AWS将更改主设备的DNS以指向成为新主设备的从设备IP . 它还将旋转一个新的从属设备,取代转换为主设备的设备,并更新从设备的DNS记录以指向新的IP地址 . 所以你不要在幕后发生事情:Auto Failover for Amazon ElastiCache for Redis

相关问题