音乐播放器
Great Wei
 
文章 标签
16

Powered by Gridea | Theme: Fog

长连接平台架构

Go实现IM

长连接平台:
分为四个部分,rev,sender,registor,online(接受者,发送者,注册中心,在线列表)
im:负责处理业务逻辑

rev负责数据的接收发送

架构设计

主进程负责接收消息(epoll)将消息放入阻塞队列,主进程开启多个消费者(work协程)读取阻塞队列消息处理,向用户中心获取产品注册的队列(队列1,队列2),将处理后的消息发送到对应队列(消费队列,异常队列)。

im负责消息业务处理

功能

将消息从队列(队列1,队列2)获取后进行业务处理,将需要返回的消息内容发送到接收队列(sender接收队列)。

sender负责数据转发

架构设计

主进程开启多个(消费者work协程)消费task(任务消息),消息内容包含要发送的目的rev信息,调用rpc方法将消息发送到指定rev,开启多个(生产者work协程)订阅接收队列(sender接收队列)中将消息封装成task供(消费者work协程)进行消费。

registor负责注册各种服务

功能

注册中心负责记录长连平台各个服务的信息,以便各个服务相互之间能找到对方。
各个服务的注册信息存放在redis中。
各个服务使用redis的发布订阅模式获取注册中心的所有信息 。

online 在线列表

功能

online模块负责记录成功登陆长连平台的用户信息。主要是用户是再哪个recv登陆的。


请到客户端“主题--自定义配置--配置”中填入leancloud_appID和key