如何解决使用弹性缓存连接 micronaut lambda 时发生 RedisCommandTimeOutException
我正在尝试使用连接到弹性缓存的 Micronaut-2 创建一个 lambda。
我在具有以下配置的项目中使用了 redis-lettuce
依赖项,并且在弹性缓存配置中启用了对事务的加密。
redis:
uri: redis://{aws master node endpoint}
password: {password}
tls: true
ssl: true
io-thread-pool-size: 5
computation-thread-pool-size: 4
我遇到以下异常:
command timed out after 1 minute(s): io.lettuce.core.rediscommandtimeoutexception
io.lettuce.core.rediscommandtimeoutexception: command timed out after 1 minute(s) at
io.lettuce.core.exceptionfactory.createtimeoutexception(exceptionfactory.java:51) at
io.lettuce.core.lettucefutures.awaitorcancel(lettucefutures.java:119) at
io.lettuce.core.futuresyncinvocationhandler.handleinvocation(futuresyncinvocationhandler.java:75)
at io.lettuce.core.internal.abstractinvocationhandler.invoke(abstractinvocationhandler.java:79)
com.sun.proxy.$proxy22.set(unknown source) at
hello.world.function.httpbookredishandler.execute(httpbookredishandler.java:29) at
hello.world.function.httpbookredishandler.execute(httpbookredishandler.java:16) at
io.micronaut.function.aws.micronautrequesthandler.handlerequest(micronautrequesthandler.java:73)
我尝试过使用具有相同弹性缓存设置的相同网络(实际上在同一个 lambda 上)的 spring 云函数,它工作正常。 任何可以帮助我调试此问题的方向,请。
解决方法
这可能晚了。 这里首先要提到的是,弹性缓存只能在 VPC 内访问。如果您想从 Internet 访问它,则需要启用 NAT GW。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。