微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

StackExchange.Redis.RedisConnectionException: SocketClosed

如何解决StackExchange.Redis.RedisConnectionException: SocketClosed

我已经在托管在 Google Kubernetes Engine (GKE) 中的 .NET Core 5 中部署了多个微服务。此微服务使用 SignalR 与外部服务进行 websockets 通信,并且对于水平扩展,必须使用 Redis Backplane 和 StackExchange.Redis

我已经使用 GCP Marketplace 部署了一个 redis-ha 解决方案,但我在 StackExchange 和 redis-ha 之间存在连接问题。连接字符串看起来不错,连接正常,但每隔几秒就会失败并重新连接,在日志中留下以下错误

Connection to Redis Failed.
StackExchange.Redis.RedisConnectionException: SocketClosed (ReadEndOfStream,last-recv: 0) on 10.10.10.44:6379/Subscription,Idle/MarkProcessed,last: SUBSCRIBE,origin: ReadFromPipe,outstanding: 0,last-read: 0s ago,last-write: 30s ago,keep-alive: 60s,state: ConnectedEstablished,mgr: 9 of 10 available,in: 0,in-pipe: 0,out-pipe: 0,last-heartbeat: 0s ago,last-mbeat: 0s ago,global: 0s ago,v: 2.0.593.37019
Connection to Redis restored.

这是我在 NetCore 微服务中使用的连接字符串:

10.10.10.44,password=xxxx,abortConnect=false,syncTimeout=30000

你知道会发生什么吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。