AWS Конечная точка Redis Reader и ioredis - PullRequest
1 голос
/ 06 февраля 2020

Мы хотим, чтобы наш Redis был более масштабируемым, и мы хотим иметь возможность добавлять больше экземпляров для чтения.

Я пытаюсь использовать эту новую конечную точку Reader: https://aws.amazon.com/about-aws/whats-new/2019/06/amazon-elasticache-launches-reader-endpoint-for-redis

Однако я не вижу никакого простого или автоматизированного способа для ioredis использовать этот подход, где я могу указать, какая конечная точка будет для записи, а какая для чтения. Даже здесь я вижу, что рекомендуемый подход в конце состоит в том, чтобы «разделить вручную»: https://github.com/luin/ioredis/issues/387

Знаете ли вы какое-либо существующее решение или хороший подход, где я могу установить, какие конечные точки будут будет использоваться для записи и какой из них будет использоваться для чтения?

Самым простым для меня сейчас является какой-то слой "прокси", где я создам два экземпляра Redis и отправлю все записи в основная конечная точка и все считывания в конечную точку считывателя. Однако я бы предпочел какой-то более лучший (или хорошо протестированный) подход.

PS: я пытался "взломать" его с помощью Cluster функциональности ioredis, но даже простого соединения без какой-либо функциональности и одного - первичного endpint - завершается с ошибкой ClusterAllFailedError: Failed to refresh slots cache. (чтобы включить конечную точку Reader - режим кластера должен быть выключен)

...