Gatewayworker 开一两个小时就出现只收数据不发送据,这一般是什么情况?还有我的Events里面没有写循环,为什么会有收到N多重复的数据。

veinliu

用gatewayworker开发的接口,为了解耦数据库,每接到一条数据,就通过syslog()来存入Rsyslog,Rsyslog再连接数据库mysql,将数据写入到数据库;数据库插入后对数据进行分析,收到一条回复一条ACknowledge,ack通过触发器用mysql-udf-http post到 gateway的一个http口上;post的数据库客户端client_id 和ACK的内容。刚开始都正常,但开一个多小时后接口就得只收不发了。重起gateway能恢复,不知道是什么问题。

还有一个问题,出现两次,都是大量往数据库写重复日志,一次写了五千多条,一次写了几十万条。
关了接口都还在写,应该是rsyslog的spool文件缓存里还有日志没写进数据库。重起rsyslog后正常。

但总的来说应该是哪里有问题。onMessage,里面我一个循还都没写,接口就是单纯的收发数据,处理数据都是mysql触发器和存储过程。各位前辈给我指点指点,这是我第一次做软件开发,没什么经验,以前只做过运维和网络。

2400 1 0
1个回答

veinliu

解决了,是Rsyslog配置问题和数据库逻辑有问题,遇错会出限无限重试的情况,改掉了逻辑错误,并将遇到错误改成重试100次。

  • 暂无评论
年代过于久远,无法发表回答
×
🔝