Redis集群总线端口连接上没有保持活动状态

时间:2019-02-21 08:54:24

标签: redis redis-cluster redis-3.2

我们的生产网络不稳定,因此发生了许多故障转移。我们注意到的一件事是,到1个机器集群总线端口的TCP连接数为3k(使用文档中的示例为16379)。这是该计算机上所有redis节点的情况。

使用显示计时器选项执行netstat时,可​​以看到keepalive已关闭。

sudo netstat -anpo | grep :165 | grep -v LISTEN

tcp  10.10.111.122:16379  10.10.111.121:41227  ESTABLISHED 2571/redis-server 1 off (0.00/0/0)
...

问题是,我们只能在Redis服务器节点所在的机器上看到这些连接,但是这些连接应该关闭(我们只能从一台机器上看到它们,而不能从另一台机器上看到它们

我们使用的Redis版本3.2.8,默认情况下已启用tcp-keepalive(设置为300),我们可以看到它正在为客户端的侦听端口工作

tcp  10.10.111.122:6379  10.10.111.121:50461  ESTABLISHED 2571/redis-server  keepalive (103.28/0/0) 

为什么不适用于群集总线端口?

1 个答案:

答案 0 :(得分:0)

您可以使用libkeepalive:库预加载

它包含一个共享库,该库覆盖大多数二进制文件中调用的套接字系统,而无需重新编译或修改它们。该技术基于Linux中包含的ld.so(8)加载程序的预加载功能,该功能使您可以强制以比普通优先级更高的优先级来加载共享库。

react-dropzone

请参考以下链接进行实施。

https://medium.com/@rajivsharma.2205/enable-tcp-keepalive-on-redis-cluster-bus-153128e412fa

相关问题