在Kaa群集

时间:2016-12-20 02:30:11

标签: kaa

两周前我问过question。我按照kaa集群设置指南文档部署了3个Kaa集群。数据库是MongoDB和MariaDB。当我运行C客户端(我做一个代码更改,每个客户端可以随机登录三个kaa服务器)时,它可以登录kaa服务器并发送或接收事件。但是在我停止客户端并在第二次启动它之后,它无法发送或接收事件。

然后我尝试一次又一次地做。但几乎是坏事。现在我确定它是一个bug。从那以后,我做了很多测试.Java客户端,Android客户端和C客户端都会出现无法发送的问题,有时会在Kaa集群中接收事件。数据库是MongoDB和MariaDB。The C Client Log , Java Client Log and kaa Server Log in here。希望信息能够在解决问题方面发挥积极作用。

我继续重现问题并进行分析。原因是当客户端重新登录时,其集群端点信息在其他节点中没有更新。所以当客户端想要发送事件时,其集群端点信息是还在之前,没有地址可以发送。这个bug可能是由集群下的事件相关代码引起的。我希望Kaa会关注这个问题,因为它会影响整个Kaa应用程序的开发。

我有办法解决这个问题。首先,我将描述在kaa集群下发送信息的机制。希望我了解信息的信息是正确的。如果有3个kaa集群K1,K2,K3和客户端A 。客户端A首先登录K1,然后集群K1,K2,K3有关于客户端A的集群端点信息。(K1有关于客户端A的本地集群端点信息,K2,K3有关于客户端A的远程集群端点信息)。然后在K2.K2中停止并重新启动登录将向K1,K3发送消息以更新有关客户端A的集群端点信息,然后K1,K3将所有集群端点信息报告给K2,K2将更新有关客户端A的集群端点信息。本地。 该错误发生在K1和K3中,不会立即更新有关客户端A的集群端点信息,并导致K2也不会更新有关客户端A的集群端点信息。

所以我的解决方案是当客户端A在K2中重新启动登录并且K2向K1和K2发送消息时,删除关于客户端A的旧集群端点信息并添加新的信息。要么 遍历所有集群端点信息(本地信息和远程信息)并更新有关客户端A的集群端点信息。我希望kaa团队可以验证解决方案并修复错误。

最新消息是由我创建的Event can not send and receive in Kaa cluster

0 个答案:

没有答案