Я не могу правильно настроить мой клиент Redis с помощью диаграммы управления битнами Redis. Я настроил диаграмму штурвала для использования дозорного (cluster.enabled=true
, sentinel.enabled=true
).
Диаграмма битнами предоставляет две службы:
kubectl get svc,endpoints
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/redis ClusterIP 10.20.5.73 <none> 6379/TCP,26379/TCP 3m1s
service/redis-headless ClusterIP None <none> 6379/TCP,26379/TCP 3m1s
service/redis-metrics ClusterIP 10.20.4.149 <none> 9121/TCP 3m1s
NAME ENDPOINTS AGE
endpoints/redis 10.16.1.46:26379,10.16.2.88:26379,10.16.4.76:26379 + 5 more... 3m1s
endpoints/redis-headless 10.16.1.46:26379,10.16.2.88:26379,10.16.4.76:26379 + 5 more... 3m1s
endpoints/redis-metrics 10.16.1.46:9121,10.16.2.88:9121,10.16.4.76:9121 + 1 more... 3m1s
Я пытаюсь определить клиент, который я могу использовать для записи данных, и тот, который можно использовать только для чтения для подчиненных узлов.
Этот, например, дает мне ошибки только для чтения, когда я пытаюсь установить значения.
RedisURI redisUri = RedisURI.Builder
.sentinel("redis")
.redis("redis")
.withPassword(redisPassword)
.build();
RedisClient redisClient = RedisClient.create(redisUri);
RedisCommands<String, String> commands = redisClient.connect().sync();
Итак, каковы были бы правильные инициализации для экземпляра RedisCommands только для чтения и для чтения-записи? Я использую версию Lettuce 5.3.0.
Спасибо