请选择 进入手机版 | 继续访问电脑版

默认
发表评论 12
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
IM聊天消息分发是用短链好,还是长链接好?
IM消息分发是用短链去做消息分发好,还是长链接服务里面去做分发好?

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

标签:IM开发 求助
上一篇:开发im,用户和scoket通道的bind关系,使用业务userId还是sessionId好?下一篇:求教IM未读消息计数在同一账号多端登录情况下的同步问题
推荐方案
评论 12
你是不是想问,im里的聊天消息的收发,是用http还是tcp或udp的socket 长连接实现吗?
签名: 《vivo手机上的系统级消息推送平台的架构设计实践》http://www.52im.net/thread-4008-1-1.html
3 楼: im.c Lv.1 楼主 1 个月前 | 显示全部楼层
引用:JackJiang 发表于 2022-06-27 15:53
你是不是想问,im里的聊天消息的收发,是用http还是tcp或udp的socket 长连接实现吗?

不是,就是消息路由的转发机制,比如建立好长链接了,用户发送消息需要做服务路由定位嘛,就是发送消息是走http还是直接往长链接服务里面发,再由长链接去做其他服务的分发。
引用:im.c 发表于 2022-06-27 16:05
不是,就是消息路由的转发机制,比如建立好长链接了,用户发送消息需要做服务路由定位嘛,就是发送消息是 ...

你的意思是,你的架构是分布式,不同的im实例间,跨实例怎么通信是吗
签名: 《vivo手机上的系统级消息推送平台的架构设计实践》http://www.52im.net/thread-4008-1-1.html
5 楼: im.c Lv.1 楼主 1 个月前 | 显示全部楼层
引用:JackJiang 发表于 2022-06-27 16:05
你的意思是,你的架构是分布式,不同的im实例间,跨实例怎么通信是吗

对对对
6 楼: im.c Lv.1 楼主 1 个月前 | 显示全部楼层
引用:JackJiang 发表于 2022-06-27 16:05
你的意思是,你的架构是分布式,不同的im实例间,跨实例怎么通信是吗

我现在的做法就是,用户建立好长链接之后,发送消息走http接口,然后http接口去分发给对应的长链接服务器
引用:im.c 发表于 2022-06-27 16:07
我现在的做法就是,用户建立好长链接之后,发送消息走http接口,然后http接口去分发给对应的长链接服务器

im实例间通信优先用长连接,否则im本身就是高吞吐的业务,短连接比长连接效率低太多了
签名: 《vivo手机上的系统级消息推送平台的架构设计实践》http://www.52im.net/thread-4008-1-1.html
8 楼: im.c Lv.1 楼主 1 个月前 | 显示全部楼层
引用:JackJiang 发表于 2022-06-27 16:16
im实例间通信优先用长连接,否则im本身就是高吞吐的业务,短连接比长连接效率低太多了

然后在通过im实例去进行消息分发吗
引用:im.c 发表于 2022-06-27 16:25
然后在通过im实例去进行消息分发吗

签名: 《vivo手机上的系统级消息推送平台的架构设计实践》http://www.52im.net/thread-4008-1-1.html
10 楼: im.c Lv.1 楼主 1 个月前 | 显示全部楼层

怎么去通知其他IM服务实例有什么好的建议没
引用:im.c 发表于 2022-06-27 17:20
怎么去通知其他IM服务实例有什么好的建议没

可以用RPC
签名: 《vivo手机上的系统级消息推送平台的架构设计实践》http://www.52im.net/thread-4008-1-1.html
12 楼: im.c Lv.1 楼主 1 个月前 | 显示全部楼层

这个RPC是基于长链接还是短链,就比如我通知完之后是直接断开还是继续存活链接
引用:im.c 发表于 2022-06-27 18:36
这个RPC是基于长链接还是短链,就比如我通知完之后是直接断开还是继续存活链接

一般的RPC系统可以支持tcp这种长连接,也支持http这种短连接,但im场景下,肯定长连接效率更高
签名: 《vivo手机上的系统级消息推送平台的架构设计实践》http://www.52im.net/thread-4008-1-1.html
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部