当前位置: 首页 > 知识库问答 >
问题:

使用AWS ElastiCache for Redis的endpoint

琴光亮
2023-03-14

我正在使用适用于 RedisAWS 弹性缓存作为我的Spring启动应用程序的缓存解决方案。我正在使用Spring启动器数据重做jedis 客户端来连接我的缓存。

想象一下,我的缓存处于启用集群模式和 3 个分片中,每个分片中有 2 个节点。我同意这样做的最佳方法是使用配置endpoint。或者,我可以列出所有节点的所有endpoint并完成工作。

但是,即使我从其中一个分片使用单个节点的终端节点,我的缓存解决方案也可以正常工作。这在我看来不对劲。我觉得即使它有效,从长远来看,也可能在集群中出现问题。当所有 6 个节点分区为 3 个分片但仅使用一个节点的终端节点时。我有以下问题。

使用一个节点的endpoint是否会在集群中造成不平衡?

或者

这是否由RedisAWS ElastiCache自动处理?

如果我只使用一个节点的endpoint,这是否意味着其他节点将永远不会被使用?

非常感谢。

共有1个答案

穆飞龙
2023-03-14

回答您的问题;

>

  • 使用一个节点的终端节点是否会在群集中造成不平衡?不

    这是由AWS ElastiCache for Redis自动处理的吗?有点

    如果我只使用一个节点的endpoint,这是否意味着其他节点将永远不会被使用?否。正在使用所有节点。

    这就是启用群集模式的工作方式。在您的示例中,您有3个碎片,这意味着所有插槽(存储键值数据的位置)都被分为3个子簇,即碎片。

    这个答案也解释了这一点——https://stackoverflow.com/a/72058580/6024431

    因此,本质上,您的节点足够智能,可以将您的请求重定向到具有需要存储数据的键槽的节点。因此,没有不平衡。Redis为您处理重定向

    现在,在使用节点endpoint时,您将面临其他问题。Elasticache运行在云(本质上是AWS硬件)上。所有硬件都面临问题。您有3个主服务器(1p、2p、3p)和3个副本服务器(1r、2r、3r)。因此,如果主服务器由于硬件问题而关闭(比如说1p),副本服务器将升级成为集群的新主服务器(1r)。现在的问题是,您的应用程序直接连接到现在已降级为副本的1p。因此,所有的写操作都将失败。

    无论何时发生这种情况,您都必须手动更改应用程序代码。

    或者,如果您使用的是配置endpoint(或其他集群级endpoint)而不是节点endpoint,则此问题最多只会对您的应用程序造成短暂影响,可能持续1-2秒。

    干杯

  •  类似资料:
    • 我在Scala2.11.1和Hzaelcast 3.5中使用kryo进行序列化。我试图将数据放在hazelcast映射中,但我得到了KryoException 下面是我的用户类序列化程序 现在,当我将用户类对象从Hcast客户端放入相应的映射中时,如下所示 它给了我这些例外: 以下是中的 请帮帮我!!

    • 本文向大家介绍webpack proxy 使用(代理的使用),包括了webpack proxy 使用(代理的使用)的使用技巧和注意事项,需要的朋友参考一下 为什么要写篇文章 这两天的开发中遇到一些需要代理才能解决的问题, 在这里记录一下, 方便以后的查阅. 为什么要用代理 跨域 在开发过程中, 我们的开发环境一般都是http:// localhost, 但是如果需要请求的数据不在本地, 那么我们就

    • 如何使用Spring RestTemplate发送GET请求?其他问题都用了POST,但我需要用get。当我运行这个程序时,程序继续工作,但似乎网络堵塞了,因为它在一个AsyncTask中,当我单击这个按钮后试图运行另一个AsyncTask时,它们将无法工作。 我试着做

    • 问题内容: 最近,我尝试了解 java.math.MathContext 的用法,但未能正确理解。它用于四舍五入。如果是,为什么不四舍五入十进制数字,甚至尾数部分。 从API文档中,我知道它遵循,和规范中指定的标准,但是我没有让他们在线阅读。 如果您对此有任何想法,请告诉我。 问题答案: @贾坦 谢谢您的回答。这说得通。您能否在BigDecimal#round方法的上下文中向我解释MathCont

    • 主要内容:下载 Nexus 3,启动 nexus 服务,访问 nexus 3.x目前 Nexus 分为 Nexus 2 和 Nexus 3 两个大版本,它们是并行的关系。与 Nexus 2 相比,Nexus 3 具有很多优势,例如支持更多的仓库格式、优化了用户的使用界面以及更加强大的搜索功能等等。 目前使用最多的,运行最稳定是 Nexus 2,但随着 Nexus 3 对 Maven 的支持越来越稳定,很多公司和组织都陆续开始使用 Nexus 3。 本节我们将介绍 Nexus

    • 使用StaggedGridLayoutManager/GridLayoutManager如何使网格项在垂直方向上具有两个跨距,在水平方向上具有两个跨距?

    • 本文向大家介绍arguments 的使用?相关面试题,主要包含被问及arguments 的使用?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: arguments是类数组对象,有length属性,不能调用数组方法 可用Array.from()转换

    • JsTestDriver 是 javascript 单元测试工具,webstorm 集成了 JsTestDriver ,可以直接使用。 1.在你的根目录中插入JsTestDriver的配置文件jsTestDriver.conf 内容可能如下:(根据本机目录的实际情况配置) server: http://localhost:9876 load: - assets/3.0/tools/jasmin