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

默认
发表评论 5
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
求教IM中用户间聊天问题,发出消息到底用http还是长连接?
以前写过简单的im,就是一个服务跑完所有的东西,注册登录聊天,用户聊天都只用ws进行收发。
现在看了几天的架构了,感觉很多架构都是分成消息模块和分发模块。消息模块就是集群式,用户ws连接到消息模块;分发模块就是记录用户是ws连接到哪个消息服务器,并且记录在线状态。那有个问题,比如A和B聊天,A都是用http发送消息到分发模块,再由分发模块转发给消息模块用ws推给B的吗?


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

标签:求助 IM开发
上一篇:IM创建群聊后,成员信息如何保存,以及拉取离线与在线消息冲突问题下一篇:请教一下WebSocket 如何设计连接鉴权机制

本帖已收录至以下技术专辑

推荐方案
评论 5
跟实时消息有关的,能用长连接的尽量用长连接,长连接的建立和维护是非常麻烦的,但长连接一旦建立,它的单位效率和效费比,肯定比http好太多了,必竟http就是短连接,每次每条消息都得重新搞TCP的3次握手、4次挥手,用http发实时消息这对于im这种高吞吐高并发的系统来说,代码太大了。
签名: 《vivo手机上的系统级消息推送平台的架构设计实践》http://www.52im.net/thread-4008-1-1.html
引用:JackJiang 发表于 2021-12-24 12:42
跟实时消息有关的,能用长连接的尽量用长连接,长连接的建立和维护是非常麻烦的,但长连接一旦建立,它的单 ...

现在又有一个问题,我使用了多个接入层,就是多个用户的WebSocket连接可能接入到不同的机器上。现在是这么一个情况,A和B接入的机器不同,A发送给B的消息要怎么推送到B接入的机器呢
引用:肥斯大只仔 发表于 2022-04-14 20:22
现在又有一个问题,我使用了多个接入层,就是多个用户的WebSocket连接可能接入到不同的机器上。现在是这 ...

去研究一下RPC或mq,看看哪个适合你
签名: 《vivo手机上的系统级消息推送平台的架构设计实践》http://www.52im.net/thread-4008-1-1.html
引用:JackJiang 发表于 2022-04-14 20:33
去研究一下RPC或mq,看看哪个适合你

目前已经有在用rpc了。
想到几种方案,但是都有相同的问题,就是两台机子涉及互为rpc客户端服务器,比如:
1. 两个网关互为rpc客户端服务器,就是网关同时是rpc客户端也是服务器,但是这样程序启动就有问题,而且假如存在多个网关也不好操作。
这算是一个问题吗,还是说方案不对?
学习下
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部