Как настроить Redisson для чтения с подчиненных узлов Elasticache

Я использую Redisson (redisson-all-3.5.5.jar) для подключения к AWS Elasticache, работающему в отключенном режиме кластера. Кластер имеет 1 первичный и 2 реплики узлов. Приложение использует поддержку абстракции Redisson Spring Cache.

Я настроил Redisson в режиме Master-Slave, предоставляя первичную конечную точку как ведущую, а реплику конечных точек как ведомые. Я загружаю приложение, выполняя несколько сотен одновременных запросов, попадающих в кеш. Когда я просматриваю метрики CloudWatch, я замечаю, что для узлов реплик нет CacheHits. Кажется, что все запросы идут только к главному / первичному узлу.

Я пробовал SLAVE, а также MASTER-SLAVE для атрибута read-mode. Я поигрался с классом LoadBalancer, пробуя RoundRobin и Random, но безуспешно.

Идея использования нескольких реплик заключалась в распределении нагрузки чтения, а не только для обеспечения высокой доступности. Для нас важно читать с подчиненных узлов. Есть ли какие-то настройки, которые нужно включить, чтобы Redisson мог читать с подчиненных узлов?


person shunya    schedule 19.12.2017    source источник
comment
Вы ищете метрики для записи или чтения?   -  person jny    schedule 22.12.2017
comment
Я смотрел CacheHit метрики для каждого узла.   -  person shunya    schedule 26.12.2017


Ответы (1)


Используйте режим Replicated вместо режима master-slave и используйте режим чтения как slave / master_slave

Это должно решить вашу проблему.

https://github.com/redisson/redisson/wiki/2.-Configuration#25-replicated-mode

person ark    schedule 26.01.2018