Как настроить Spring Redis sentinel в Kubernetes - PullRequest
0 голосов
/ 06 мая 2020

У меня есть настройка redis sentinel master slave с 1 мастером и 3 slave, и это в среде Kubernetes. В конфигурации spring lettuce я должен указать URL-адреса дозорных с номерами портов. Как мне указать URL-адрес для каждого дозорного? Spring do c указывает IP и порт. В локальном все нормально, а в k8s как настроить? Я установил настройку с bitnami redis chart . Ниже показано, как это делается локально.

   @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);
}

Спасибо

Ответы [ 2 ]

1 голос
/ 06 мая 2020

Первым делом -> использование диаграммы управления битнами - правильный способ сделать что-то.

Хотя реализация немного отличается, вот как мы реализовали ту же настройку главного-подчиненного И также избежали вышеуказанной проблемы, пока обеспечение МАКСИМАЛЬНОЙ доступности, которую мы когда-либо наблюдали (время простоя менее 2 секунд для мастера)

  • Мы сделали две службы - одну для мастера, а другую для подчиненных.

    PV PV C, который был разделен между ведомыми устройствами и ведущим, где ТОЛЬКО ведущий мог писать, а ведомые устройства могли читать только из PV

  • таким образом, мы всегда могли гарантировать, что 1 pod работает ВСЕ время для главного устройства и N реплик за безголовой службой для подчиненных.

В подчиненных приложениях и главные URL-адреса всегда будут разными, что гарантирует четкое "WRITE" и "READ" «изоляция и повышение стабильности системы почти без сбоев при чтении.

0 голосов
/ 06 мая 2020

Установите диаграмму управления с включенным часовым механизмом

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...