默认
发表评论 30
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
引用:JackJiang 发表于 2022-07-06 14:38
我觉得你手上的代码有可能逻辑改乱掉了。
我查了一下你们公司的代码,版本是2.0。
要么,你让跟我对接 ...

大佬,代码比对了下,就是因为之前有人加代码了,出现了重复消息的问题,

向大佬咨询个解决方案

RainbowChatMQServer不是有两个功能吗:
一个是保存nodejs服务通过MQ推过来的聊天记录保存功能;
另一个是保存nodejs服务通过mq推过来的离线消息功能。

现在如何设置,让聊天记录的功能和离线消息功能只走RainbowChatMQServer消费?


我现在都设置为true后,web端mq生产了两个队列,一个是聊天记录走了RainbowChatMQServer,一个是离线消息走了RainbowChatServer
引用:qinghezi183 发表于 2022-07-06 11:17
我看到了,大佬,RainbowChatMQServer有这两个功能,

按照操作,如果都设置为true,

我觉得你手上的代码有可能逻辑改乱掉了。
我查了一下你们公司的代码,版本是2.0。
要么,你让跟我对接的技术负责人联系一下我,我给你们打包一下最新的代码,你就用这个最新的代码,不改动代码本身(只改必要的配置)的情况下,按你的场景进行测试,如果我给你的代码不出现重复的问题,你就用新代码,去比对你老的代码,看看代码是不是哪里改乱了。或者,干脆用最新的代码,把老代码扔掉。
引用:JackJiang 发表于 2022-07-06 10:03
RainbowChatMQServer有两个功能:
一个是保存nodejs服务通过MQ推过来的聊天记录保存功能;
另一个是保 ...

我看到了,大佬,RainbowChatMQServer有这两个功能,

按照操作,如果都设置为true,

现在RainbowChatMQServer里面的两个功能,只走了一个,就是保存nodejs服务通过mq推过来的聊天记录保存功能;另一个保存离线的功能就没走过;

nodejs服务通过mq推过来的离线消息功能,而是在RainbowChatServer里走了

是对的吗?看操作文档是都要设置为true,然后现在发消息nodejs就会推送两个消息队列,一个保存聊天记录走了RainbowChatMQServer,一个保存离线消息走了RainbowChatServer


什么情况下,保存聊天记录和保存离线消息功能都只走RainbowChatMQServer,不走RainbowChatServer呢?

大佬,RainbowChat-Web我目前只用web端
引用:qinghezi183 发表于 2022-07-06 09:36
大佬,我想问下,如果都设置为true后,RainbowChatMQServer里这里是不是原先就只是做了聊天记录的保存操 ...

RainbowChatMQServer有两个功能:
一个是保存nodejs服务通过MQ推过来的聊天记录保存功能;
另一个是保存nodejs服务通过mq推过来的离线消息功能。
引用:JackJiang 发表于 2022-07-05 15:50
你前面的人也没跟你交接的话,不清楚他改成false的目的是什么,有可能他根据false的情况进行了调整也不是 ...

大佬,我想问下,如果都设置为true后,RainbowChatMQServer里这里是不是原先就只是做了聊天记录的保存操作,没有做其它的离线消息操作啊
引用:qinghezi183 发表于 2022-07-05 14:47
大佬,我现在把RainbowChatServer和node那个server里,bridge开关都开成true了,

不知道是不是产品原 ...

你前面的人也没跟你交接的话,不清楚他改成false的目的是什么,有可能他根据false的情况进行了调整也不是不可能,这样说来,代码就有可能搞乱掉了。。。最好能找到之前的核实一下情况,交接一下
引用:JackJiang 发表于 2022-06-22 15:12
把RainbowChatServer和node那个server里,bridge开关都开成true

大佬,我现在把RainbowChatServer和node那个server里,bridge开关都开成true了,

不知道是不是产品原来就这样还是之前开发的人改的

现在遇到的问题是:
RainbowChatServer_web发消息,会有两个队列,一个队列在RainbowChatMQServer消费了,它这里估计之前有人改动过,现在保存了实时的聊天记录的同时顺便又做了往离线消息表插入了一条消息记录;另一个队列在RainbowChatServer消费了,这里应该是之前没动过,就是往离线消息表里存了一条离线消息记录;

然后就现在RainbowChatServer设置为true后,就会有重复的离线消息记录出现了;

我如果RainbowChatServer设置为false,RainbowChatServer_web设置为true,它就只会走RainbowChatMQServer消费,这时候就会有一个消费队列,按照原先的人的逻辑,保存了聊天记录顺便又保存了离线记录,RainbowChatServer里设置false就不会有任何操作

有什么影响吗?如果RainbowChatServer设置为false,我这里只用到了单聊和群聊、创建群、邀请入群、转让群、退出、解散群、该名称的功能,求大佬指教
引用:qinghezi183 发表于 2022-06-22 14:04
可是现在改为true后,保存到离线消息表的消息,同一条消息内容会重复存两次,上次重复的问题好像是这样出 ...

把RainbowChatServer和node那个server里,bridge开关都开成true
引用:JackJiang 发表于 2022-06-22 13:12
必须为true,否则影响你web产品中的某些实时指令。

可是现在改为true后,保存到离线消息表的消息,同一条消息内容会重复存两次,上次重复的问题好像是这样出现的,mqserver保存了一次,rchatserver也保存了一次
引用:JackJiang 发表于 2022-06-22 13:12
必须为true,否则影响你web产品中的某些实时指令。

可是现在改为true后,保存到离线消息表的消息,同一条消息内容会重复存两次,上次重复的问题好像是这样出现的,mqserver保存了一次,rchatserver也保存了一次
必须为true,否则影响你web产品中的某些实时指令。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部