1

我正在尝试使用连接到弹性缓存的 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 Cloud 功能,它工作正常。请任何可以帮助我调试此问题的方向。

4

1 回答 1

0

这可能晚了。首先要提到的是,弹性缓存只能在 VPC 内访问。如果您想从 Internet 访问它,则需要启用 NAT GW。

于 2021-05-29T14:03:20.580 回答