如何在kubernetes中配置spring redis sentinel

kqhtkvqz  于 2021-06-09  发布在  Redis
关注(0)|答案(2)|浏览(587)

我有一个redis sentinel master-slave设置,有1个master和3个slave,这是在kubernetes环境中。在spring-莴苣配置中,我必须用端口号指定sentinels url。我应该如何为每个sentinel指定url?spring doc指定ip和端口。在本地可以,但在k8s中,我应该如何配置?我安装了bitnami redis图表。下面是如何在本地完成的。

@Bean
public RedisConnectionFactory lettuceConnectionFactory() {
  RedisSentinelConfiguration sentinelConfig = new RedisSentinelConfiguration()
  .master("mymaster")
  .sentinel("127.0.0.1", 26379)
  .sentinel("127.0.0.1", 26380);
  return new LettuceConnectionFactory(sentinelConfig);
}

谢谢

iih3973s

iih3973s1#

在启用哨兵的情况下安装舵图

helm install my-release bitnami/redis --set sentinel.enabled=true

名为的服务 my-release-redis 将创建并可通过 my-release-redis.namespacename.svc.cluster.local:26379 从任何名称空间和同一名称空间使用 my-release-redis:26379

1mrurvl1

1mrurvl12#

第一件事->使用bitnami Helm 图是正确的做事方法。
虽然有点不同的实现方式,但下面介绍了我们如何实现相同的主从设置,并在确保所见证的最大可用性(主服务器的停机时间不到2秒)的同时避免了上述问题
我们做了两件事,一件是主人的事,另一件是奴隶的事。
一种在从机和主机之间共享的pvpvc,其中只有主机可以写入,而从机只能从pv读取
通过这种方式,我们可以始终确保在为从机提供无头服务之后,有1个pod一直在为主机运行,而有n个副本在运行。
在应用程序中,从url和主url总是不同的,从而确保了清晰的“写”和“读”隔离,并在几乎没有读失败的情况下提高了系统的稳定性。

相关问题