默认
发表评论 30
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] RainbowChat-Web中base_config配置,改成false对消息保存影响吗?
[已回复] RainbowChat-Web中base_config配置,改成false对消息保存影响吗?_c61b5b0d69ec1f169a8dbc265cb94fa8_ZQevENox31AAAAABJRU5ErkJggg==.png RainbowChatServer里base_cofnig配置文件里,这里如果改成false,会对消息保存有影响吗?

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

推荐方案
评论 30
引用:JackJiang 发表于 2022-06-22 13:12
必须为true,否则影响你web产品中的某些实时指令。

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

可是现在改为true后,保存到离线消息表的消息,同一条消息内容会重复存两次,上次重复的问题好像是这样出现的,mqserver保存了一次,rchatserver也保存了一次
引用: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,我这里只用到了单聊和群聊、创建群、邀请入群、转让群、退出、解散群、该名称的功能,求大佬指教
引用:JackJiang 发表于 2022-07-05 15:50
你前面的人也没跟你交接的话,不清楚他改成false的目的是什么,有可能他根据false的情况进行了调整也不是 ...

大佬,我想问下,如果都设置为true后,RainbowChatMQServer里这里是不是原先就只是做了聊天记录的保存操作,没有做其它的离线消息操作啊
引用: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端
引用:JackJiang 发表于 2022-07-06 14:38
我觉得你手上的代码有可能逻辑改乱掉了。
我查了一下你们公司的代码,版本是2.0。
要么,你让跟我对接 ...

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

向大佬咨询个解决方案

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

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


我现在都设置为true后,web端mq生产了两个队列,一个是聊天记录走了RainbowChatMQServer,一个是离线消息走了RainbowChatServer
引用:JackJiang 发表于 2022-07-07 16:28
确认一下,昨天发你的新版代码,不改动任何逻辑的情况下,不会出现重复对吧

对,代码比对了下,就是因为有人加了代码,才会出现重复的消息
引用:JackJiang 发表于 2022-07-11 17:11
嗯 以后记得要交接,改动代码也要版本管理起来,不然接手的人就倒霉了

是呢,前人挖坑
引用:qinghezi183 发表于 2022-07-07 14:37
大佬,代码比对了下,就是因为之前有人加代码了,出现了重复消息的问题,

向大佬咨询个解决方案

大佬,能提供个解决方案吗?

我现在想让保存聊天记录和保存离线消息的功能,在rainbowchatMqserver里消费,不走rainbowchatServer里面的,该如何配置实现呢?我这边只能用到了web端
引用:JackJiang 发表于 2022-07-11 17:40
没必要折腾,因为现在这样的设计主要是基于RainbowChat和RainbowChat-Web两个产品同时使用时,而像你单独 ...

这些什么配置的改成true的还需要改吗?现在是因为都改成true,web端生成了两个队列,一个是消息落库的走mq消费了,一个是离线消息落库的走了rainbowchat端的mq消费了
引用:JackJiang 发表于 2022-07-11 17:40
没必要折腾,因为现在这样的设计主要是基于RainbowChat和RainbowChat-Web两个产品同时使用时,而像你单独 ...

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

我怎么操作?怎么用最少的更改?都走上面的两个功能呢
引用:JackJiang 发表于 2022-07-12 10:13
java这边同样跟nodejs一样,实现消息往mq传递

是这样的,大佬

现在是把RainbowChatServer和node那个server里,bridge开关都开成true之后,

node生成两个队列,一个【q_im2db_msg】走了RainbowChatMQServer服务进行mq消费(这里是保存了聊天记录消息),一个【q_web2app】走了RainbowChatServer服务进行mq消费(这里保存了离线消息),


RainbowChatMQServer里,我看代码已经实现了保存离线消息和消息记录的功能,应该是可以设置的吧,让node端生成的队列消息只走RainbowChatMQServer服务进行消费,而不去走RainbowChatServer服务里面的消费。
引用:JackJiang 发表于 2022-07-12 11:01
你只管q_im2db_msg这个队列,另一个队列q_web2app你不能改(那是sdk层的队列,涉及实时通信逻辑)

大佬,我模拟了一个场景
引用:qinghezi183 发表于 2022-07-12 10:21
是这样的,大佬

现在是把RainbowChatServer和node那个server里,bridge开关都开成true之后,

大佬,现在是不是有这样的问题啊?我现在都设置成true后,测试的

如果A和B用户在线,A给B发消息,B收到了,显示了未读消息数字是1,但是其实离线消息没有存,b在重新登录进来,未读数字就没了???
引用:JackJiang 发表于 2022-07-12 17:48
好好的代码你折腾啥呢,就用默认的逻辑啊,不然搞的左一个bug右一个Bug有啥意思

大佬,我现在就用的默认的逻辑,如果用户在线的话,消息就直发了,并没有存离线消息,但是用户并没有点击消息查看,还是显示未读数字1的,退出后再登进来,就没有未读数字了?
引用:JackJiang 发表于 2022-07-12 21:30
未读数本来就是在内存里的

大佬,也就是说现在就是有这种情况吗?我退出后,在登录进来后我还没看刚才在线别人给发的消息,未读数就没了?
引用:JackJiang 发表于 2022-07-12 21:30
未读数本来就是在内存里的

没问题了,大佬,多谢
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部