У меня есть экземпляр 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](https://i.stack.imgur.com/iJVBe.png)
У меня сложилось впечатление, что реплики чтения помогут разделить нагрузку запросов на чтение для увеличения пропускной способности. Почему к реплике чтения не отображаются запросы на чтение?