我正在使用图书馆 node_redis作为我正在编写的微服务消息客户端的客户端。客户端从他们的发件箱中的应用程序获取消息,他们需要将这些消息发送到其他服务。一切都运行良好,但我正在尝试在使用 redis 客户端与 redis 服务器通信的应用程序部分建立一些弹性。
我的想法是redis客户端-服务器连接状态应该对客户端高可用。我的意思是,如果连接断开,我想在一秒钟内知道,而不是默认的 300 秒超时。目前我正在使用托管在 AWS 上的免费 redislabs 层,但我应该将其移动到我的 kubernetes 集群上它自己的容器中运行。
我需要知道网络中客户端连接的状态,因为我不想在网络条件不正确时不发送消息,并且不依赖错误处理来处理此类事件。了解这些高延迟事件发生的频率和时间也有助于我诊断和改进我的网络和微服务。
注意:我想在客户端选项中设置 connect_timeout 值,但它被列为已弃用。
最佳答案
类似的东西?
var redis = require('redis');
var client = redis.createClient();
var reconnectAfter = 15000;
client.on( 'error', function () {
console.log( (new Date()) + " Redis: disconnect");
setTimeout( connect, reconnectAfter);
});
connect = function(){
client = redis.createClient();
}
关于javascript - 如何检测客户端与nodejs中的redis断开连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47253429/