gpt4 book ai didi

redis - 我对 K8s 中的 redis 不了解的地方

转载 作者:IT王子 更新时间:2023-10-29 06:12:28 26 4
gpt4 key购买 nike

我使用 helm chart 在 GKE 中设置了 redis。

它创建了 3 个服务 redis-master、redis-slave 和 redis-headless。当我通过“redis-headless”连接到它时,我收到一个错误(大约 66% 的时间):

READONLY You can't write against a read only replica.

我假设这是因为它正在路由到两个从属实例。如果我使用 master 那么它似乎可以工作。

我假设我应该只使用 redis-master 来连接?它会使用奴隶吗?如果master挂了,它会更新吗?我是否应该路由到从服务器(用于读取查询)?

我想更好地了解我对它的工作原理的理解(假设它是这样)。

谢谢

最佳答案

假设您指的是 stable/redis 图表。

您可以运行以下命令获取更多详细信息:kubectl describe service <service_name> .检查 SelectorEndpoints领域。 redis-headless服务选择所有 Redis pod,而 redis-master仅选择标记为 role:master 的 Redis master pod .

默认情况下,写入操作只能由主服务器处理,但您可以从副本读取数据。 Redis副本主要用于:

  1. 提高吞吐量。如果主服务器已经忙于写操作,您可以向副本发送读取命令。请注意,默认情况下复制是异步发生的,因此无法保证强一致性。

  2. 高可用性。通过使用 Redis Sentinel ,当老主人被认为不健康时,副本可以提升为新主人。当 Redis 持久性未打开时,这也可以防止崩溃的主服务器出现空数据。

对于 stable/redis 您可以配置的图表 sentinel.enabled启用 Redis Sentinel 和自动故障转移。还有一个 stable/redis-ha 图表。

关于redis - 我对 K8s 中的 redis 不了解的地方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56812129/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com