# 《分布式IM系统》大后端平台-消息服务-第10节:消息监听回调流程的设计和实现

作者:冰河
星球:http://m6z.cn/6aeFbs (opens new window)
博客:https://binghe.gitcode.host (opens new window)
文章汇总:https://binghe.gitcode.host/md/all/all.html (opens new window)
源码获取地址:https://t.zsxq.com/0dhvFs5oR (opens new window)
课程视频:https://t.zsxq.com/170wZs8CV (opens new window)

沉淀,成长,突破,帮助他人,成就自我。

  • 本节难度:★★☆☆☆
  • 本节重点:对消息微服务监听回调消息的流程进行设计和实现,从源码级别掌握消息监听回调的流程,重点理解消息监听回调流程在整个分布式IM即时通讯系统中的流转过程,结合自身实际项目思考,将本节学到的知识灵活应用到自身实际项目中。
  • 课程视频:https://t.zsxq.com/170wZs8CV (opens new window)

大家好,我是冰河~~

在即时通讯SDK中,当发送消息完毕后会通过广播机制将消息的发送结果广播出去,那这些广播的消息数据怎么接收呢?该怎么处理这些数据呢?如何让整个消息的监听和回调流程形成闭环呢?

# 一、前言

在即时通讯SDK篇章的《第04节:消息监听与广播机制的设计与实现 (opens new window)》一节中,我们对消息的监听与广播机制进行了设计和实现。并且在即时通讯SDK中,提供统一处理消息发送结果数据的数据模型、流程设计和具体实现,使得集成即时通讯SDK的大后端平台或者其他业务系统,无需关心发送消息后的结果数据的处理流程,只需要实现简单的监听器接口,即可根据自身业务需求来处理发送消息的结果数据模型。

那如何设计和实现具体的监听逻辑呢?本节,我们就来一起设计和实现消息监听回调的流程。

# 二、本节诉求

对消息微服务监听回调消息的流程进行设计和实现,从源码级别掌握消息监听回调的流程,重点理解消息监听回调流程在整个分布式IM即时通讯系统中的流转过程,结合自身实际项目思考,将本节学到的知识灵活应用到自身实际项目中。

# 三、流程设计

在整个分布式IM即时通讯系统中,即时通讯SDK统一封装和实现消息的广播和监听的核心框架逻辑,对外提供消息监听的接口,并在接口中提供处理消息发送结果数据模型的方法,由集成即时通讯SDK的大后端平台或者其他业务系统实现消息监听的具体业务逻辑,也就是大后端平台或者其他业务系统实现消息监听的接口,并在具体实现方法中接收到消息发送的结果数据模型,根据具体需要来处理相关的业务逻辑。


当即时通讯SDK发送消息并且需要回传结果数据时,会通过广播的方式来处理结果数据模型,同时,当即时通讯后端服务向用户终端发送消息后,会向消息中间件集群回传消息发送的结果数据,而即时通讯SDK接收到消息中间件集群中消息发送的结果数据,同样会通过广播的方式来处理结果数据模型,并且会在发送广播的方法中,调用监听器的方法来处理结果数据模型。

备注:上述描述来自:通讯SDK篇章的《第04节:消息监听与广播机制的设计与实现 (opens new window)》一节。

接下来,我们就可以在消息微服务中实现具体的监听器,而不必关心即时通讯SDK中实现的具体逻辑。

# 查看完整文章

加入冰河技术 (opens new window)知识星球,解锁完整技术文章与完整代码