В моем клиенте Quarkus Redis я создаю гораздо больше соединений, чем позволяет мой пул соединений. Я не уверен, почему это происходит. Мой пул соединений имеет maxPoolSize = 6 maxPoolWaiting = 24, но моя служба elasticache показывает, что мои текущие соединения на моих шардах выросли до 1,4 КБ и 700.
[img]https:/ /i.stack.imgur.com/zqZZA.png[/img]
Почему это происходит и как я могу ограничить количество подключений, создаваемых моим клиентом Quarkus? Из-за такого количества подключений кеш сильно нагружает процессор, что не подходит для масштабирования.
Я использую 2.16.4.Final quarkus.platform.version>
Это код, который я использовал для настройки RedisOptions.
@Override
public void customize(String clientName, RedisOptions options) {
NetClientOptions netOptions = options.getNetClientOptions();
netOptions.setSsl(true).setHostnameVerificationAlgorithm("HTTPS")
.setReconnectAttempts(reconnectAttempts).setReconnectInterval(reconnectInterval).setConnectTimeout(connectTimeout)
.setTcpKeepAlive(true).setIdleTimeout(5000).setIdleTimeoutUnit(TimeUnit.MILLISECONDS);
}
и вот как я использую RedisClient в своем коде
@Inject
public CacheService(
@RedisClientName("cache") @NotNull ReactiveRedisDataSource reactiveRedisDataSource,
) {
commands = reactiveRedisDataSource.value(byte[].class);
keyCommands = reactiveRedisDataSource.key();
}
public Uni getItem(String key) {
return commands.get(key).onItem().transform("turnFromBytestoItem");
}
а это моя логика подключения в файле application.properties
quarkus.redis.cache.hosts=rediss://${HOST:localhost}:6379
quarkus.redis.cache.client-type=cluster
quarkus.redis.cache.replicas=share
Подробнее здесь: https://stackoverflow.com/questions/783 ... onnections
Клиент Quarkus Redis создает огромное количество соединений ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение