前言
该IM模块是使用golang开发,性能优秀,而且提供全套的客户端,服务端程序,就是说如果要快速拥有一套完整的IM系统,这个IM是很不错的选择.
IM分为三个模块,分别为:
im模块---用于消息分发,可以起多个模块做分布式,通过LVS实现负载均衡.
imr模块---用于做im模块的路由,多个im之间通过imr来搜索各个用户的存在.
ims模块---用于做消息的顺序存储,不停的存储在message_x文件,x代表数字,每个文件存满默认128M之后,会存到下一个文件,x数字递增.
im模块
--模块目录
带小箭头的文件为几个模块共用文件,解析放在im模块;benchmark是测试文件;Makefile是用来编译的文件.
im消息处理:
用户A->B:
1.SaveMessage:保存消息到目标用户B存储队列 (rpc->SavePeerMessage)
2.SaveMessage:保存消息到发送用户A存储队列(供多点登录同步消息)
3.PushMessage:外部推送消息给目标用户B(由IMR寻路由)MSG_IM
4.SendMessage:发送同步消息给目标用户B (外
如果觉得《im_service--im模块》对你有帮助,请点赞、收藏,并留下你的观点哦!