joyieldInc / predixy

A high performance and fully featured proxy for redis, support redis sentinel and redis cluster

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

predixy运行时间久了,会出现错误,重启后就好了,又遇到类似问题么?

wyl9527 opened this issue · comments

架构背景:
一个predixy代理,底下是6个redis实例,没有从节点也没有用哨兵。

使用场景:
用来作为日志的代理中间件的。日志通过predixy代理写到redis实例中。

结论:
predixy跑一段时间后(具体时间不确定),使用到现在出现过2次情况
1.进程是存在的,但是报错连不上predixy,由于当时忙着恢复,没有去telnet去测试。重启后恢复
2.predixy服务正常,但是会出现部分丢数据的现象,期间predixy的日志没有什么明显的报错,重启也是立马恢复。

具体什么错误,什么现象?

具体什么错误,什么现象?

不是因为pod ip改变出现的这个错误,是长时间运行之后。我们的predixy会无法进行set操作,只能进行get。这时候进行set操作的时候会出现(error) ERR no server connection avaliable。后台redis的服务是好的。
clusterServerPool等池子保存的mServPool等容器的capacity最高为2048,我看到代码中有这个定义,这个vector在什么条件下会被塞满呢,想让您帮忙解答一下

具体什么错误,什么现象?

您这边有什么联系方式吗,想联系一下您

具体什么错误,什么现象?

总共出现过3次,第一次的报错是报错日志就是ERR no server connection avaliable
后面两次没有具体的错误,但是发现写操作应该有问题,我是用来作为日志代理的,重启后,kibana显示日志进来了。

最后一次出现的情况是,也不是完全不可用,因为作为日志代理的,有部分日志写入有问题,但是其余的又是正常的。重启predixy后就正常了。

注意:除了我遇到这个情况外,其他人应该也遇到了,麻烦大佬研究一下。 我是lpush操作。

@longshen123 会丢数据?怎么发现的?

@wyl9527 多长时间出现了三次?会报错,但是不会丢数据,对吧?

你qq多少,我们一起调研一下。具体时间不一定,一般出现的时候是写操作有问题

commented

同样遇到了 部署在k8s中 突然有连接不上了 日志除了一个ip链接超时也没发现异常 你那里排查出结果了吗

@Asscention 用的什么命令?

同样遇到ERR no server connection avaliable,重启proxy后解决

用predixy代理redis-cluster, 写入程序用长连接管道持续写入,当其中一个master节点down后,写入报错ERR no server connection avaliable,需要重启predixy才能或者等一段时间(时间不固定,20min以上)才能恢复,请问下有解决方案了吗?

commented

我也碰到了,客户端连不上,predixy上Close_Wait很多,cpu打满。。。请问下有解决方案了吗?

有解决的嘛,我也遇到ERR no server connection avaliable

commented

我们部署在k8s中 目前临时的解决方案是 redis的pod lifecycle 钩子调用k8s api重启predixy

@wyl9527 @feichenxue @Mino9526 @sookey @lxffff1990 @jackerzhou @longshen123 我这边遇到这个问题,解决了。
需要的加V:zorrok8