Почему реплика чтения на экземпляре Elasticache Redis не показывает обработку запросов на чтение? - PullRequest
0 голосов
/ 13 февраля 2020

У меня есть экземпляр AWS Elasticache Redis с 2 узлами - основной и реплика чтения. Я подключаюсь к экземпляру, используя StackExchange.Redis.

Значение databases, передаваемое конструктору, является разделенной запятыми строкой, содержащей как первичную конечную точку, так и конечную точку считывателя.

public class RedisCacheConnectionFactory : IRedisCacheConnectionFactory
{
    private readonly Lazy<ConnectionMultiplexer> _connector;

    public RedisCacheConnectionFactory(string databases)
    {
        var options = ConfigurationOptions.Parse(databases);
        options.AbortOnConnectFail = false;
        options.SyncTimeout = 1000;
        this._connector = new Lazy<ConnectionMultiplexer>(() => ConnectionMultiplexer.Connect(options));
    }

    public ConnectionMultiplexer Connection() => this._connector.Value;
}

Похоже, что никакие запросы на чтение не передаются реплике чтения, и все они обращаются к первичному экземпляру.

Cloudwatch logs showing no reads to read replica

У меня сложилось впечатление, что реплики чтения помогут разделить нагрузку запросов на чтение для увеличения пропускной способности. Почему к реплике чтения не отображаются запросы на чтение?

...