0%

IM - 服务层

在整个链路中,API层相当于长连网关层的服务端,也相当于服务层的客户端。

服务层包含有:私信、群聊、群发等。

API层通过HTTP或者RPC的方式,去调用服务层的各种服务,然后返回处理 成功 或者 失败报文给 API层

服务层 处理成功之后,将消息存入MySQLHBase 等存储中,每一条消息都会有个版本号,基于用户维度的,然后将消息写入 RedisMemcachedQKafka 等消息中间件中,由队列机层 来订阅这些消息中间件,再经过一系列的处理后,将最终消息PubRedis中,长连网关层 的每一条服务器都可以Sub到这些消息,可以选择在网关层中对消息进行GZIP压缩,然后最终推送给客户端。