LettuceConnectionFactory с SentinelTopologyProvider - PullRequest
4 голосов
/ 16 июня 2020

Я использую салат через API весенней загрузки org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory.

Мой bean-компонент настроен как

@Bean
public LettuceConnectionFactory lettuceSentinelConnectionFactory() {
        RedisSentinelConfiguration sentinelConfig = new RedisSentinelConfiguration(mastername, new HashSet<>(sentinelnodes));
        return new LettuceConnectionFactory(sentinelConfig);
    }

Это работает нормально, за исключением повторного подключения после изменений топологии, что приводит к исключениям.

io.lettuce.core.RedisCommandExecutionException: READONLY You can't write against a read only slave.

Некоторые отчеты об ошибках, похоже, подтверждают это поведение .

С большим интересом я прочитал, что салат-латук реализует динамический c обнаружитель топологии для часовых SentinelTopologyProvider , который должен элегантно решить проблему.

Однако я не могу заставить LettuceConnectionFactory использовать этот динамический c SentinelTopologyProvider, и поиск в Google тоже ничего не вернул.

Может ли кто-нибудь дать подсказку или пример кода о том, как написать этот код?

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