Я использую кластер redis типа m5.4x с одним узлом, чтобы кэшировать некоторые результаты.Записи в этот узел redis очень часты.И я мог видеть, что периодически происходит сбой записи в кластер.
Ниже приведена трассировка стека, которую мы видим в журналах для сбоя.
org.redisson.client.WriteRedisConnectionException: Невозможно выполнитьотправить команду!Источник узла: NodeSource [slot = null, addr = null, redisClient = null, redirect = null, entry = org.redisson.connection.MasterSlaveEntry @ 6608962a], соединение: [id: 0xbad70cba, L: 0.0.0.0/0.0.0.0: 47904], команда: (EVAL), параметры: [local вставляемый = false;локальное значение = redis.call ('hget', KEYS [1], ARGV [5]);локальная т, Val, если значение ..., 8, SEARCH_CACHE, redisson__timeout__set: {SEARCH_CACHE}, redisson__idle__set: {SEARCH_CACHE}, redisson_map_cache_created: {SEARCH_CACHE}, redisson_map_cache_updated: {SEARCH_CACHE}, redisson__map_cache__last_access__set: {SEARCH_CACHE}, redisson_map_cache_removed: {SEARCH_CACHE}, {SEARCH_CACHE}: redisson_options, ...] в org.redisson.command.CommandAsyncService.checkWriteFuture (CommandAsyncService.java:675) в org.redisson.command.CommandAsyncService.access $ 100 (CommandAsyncSrediss.g at at.gs..command.CommandAsyncService $ 9 $ 1: 511) на io.netty.util.concurrent.DefaultPromise.notifyListenersNow (DefaultPromise.java:485) на io.netty.util.concurrent.DefaultPromise.notifyListeners (DefaultPromise.java:424) на io.netty.util.concurrent.DefaultPromise.tryFailure (DefaultPromise.java:121) в io.netty.channel.AbstractChannel $ AbstractUnsafe.safeSetFailure (AbstractChannel.java:987) в io.netty.channel.AbstractChannel $ AbstractUnsafe.write (AbstractChannel.java:869).netty.channel.) по адресу io.netty.channel.AbstractChannelHandlerContext.access $ 1900 (AbstractChannelHandlerContext.java:38) по адресу io.netty.channel.AbstractChannelHandlerContext $ AbstractWriteTask.write (AbstractChannelHandlerContext.java:10b_html)(AbstractChannelHandlerContext.java:1128) в io.netty.channel.AbstractChannelHandlerContext $ AbstractWriteTask.run (AbstractChannelHandlerContext.java:1070) в io.netty.util.concurrent.AbstractEventExecutor.safeExecute (AbstractEventExecutor.java:163) в io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks (SingleThreadEventExecutor.java:404) в io.netty.channel.nio.NioEventLoop.run3): nio.netty.util.concurrent.SingleThreadEventExecutor $ 5.run (SingleThreadEventExecutor.java:886) в io.netty.util.concurrent.FastThreadLocalRunnable.run (FastThreadLocalRunnable.java:30) в java.lang.Threadjrun (поток:745) Причина: java.nio.channels.ClosedChannelException at io.netty.channel.AbstractChannel $ AbstractUnsafe.write (...) (Неизвестный источник)
Я использую клиент Redisson версии 3.6.5.Может кто-нибудь, пожалуйста, помогите мне определить, в чем проблема?
Ниже приведена конфигурация, которую я настроил для подключения кластера Redis
- idleConnectionTimeout: 1000
- pingTimeout: 10000
- connectTimeout: 10000
- тайм-аут: 30000
- retryAttempts: 3
- retryInterval: 1500
- ReconnectionTimeout: 30000
- failedAttempts: 3
- subscriptionPerConnection: 5
- slaveSubscriptionConnectionMinimumIdleSize: 1
- slaveSubscriptionConnectionPoolSize: 50
- slaveConnectionPoolSize: 250
- masterConnectionMinimumIdleSize: 5
- masterConnectionPoolSize: 250