From 02480833fdb4c449c8a0f340de7c98e28f436203 Mon Sep 17 00:00:00 2001 From: binghe001 <“1028386804@qq.com”> Date: Thu, 1 Feb 2024 14:50:28 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E3=80=8A=E5=88=86=E5=B8=83=E5=BC=8FIM?= =?UTF-8?q?=E5=8D=B3=E6=97=B6=E9=80=9A=E8=AE=AF=E7=B3=BB=E7=BB=9F=E3=80=8B?= =?UTF-8?q?-=E5=A4=A7=E5=90=8E=E7=AB=AF=E5=B9=B3=E5=8F=B0-=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E5=BE=AE=E6=9C=8D=E5=8A=A1-=E7=AC=AC10=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + docs/.vuepress/config.js | 1 + docs/md/all/all.md | 1 + docs/md/other/guide-to-reading.md | 1 + .../platform/message/2024-01-30-chapter10.md | 50 +++++++++++++++++++ 5 files changed, 54 insertions(+) create mode 100644 docs/md/project/im/platform/message/2024-01-30-chapter10.md diff --git a/README.md b/README.md index 79e39740..e4034c2c 100644 --- a/README.md +++ b/README.md @@ -330,6 +330,7 @@ * [《分布式IM系统》大后端平台-消息服务-第07节:单聊消息的撤回流程设计和实现](https://articles.zsxq.com/id_0ar5kh5rbhjk.html) * [《分布式IM系统》大后端平台-消息服务-第08节:群聊消息的撤回流程设计和实现](https://articles.zsxq.com/id_21pu7ojtv7rw.html) * [《分布式IM系统》大后端平台-消息服务-第09节:图片、文件和语音消息的设计和实现](https://articles.zsxq.com/id_1f32q87wrs3h.html) +* [《分布式IM系统》大后端平台-消息服务-第10节:消息监听回调流程的设计和实现](https://articles.zsxq.com/id_ma4w7exlg1qk.html) * [《分布式IM系统》大后端平台-视频通话-第01节:视频通话呼叫发起流程设计和实现](https://articles.zsxq.com/id_pi8ww36ac0t3.html) * [《分布式IM系统》大后端平台-视频通话-第02节:视频通话呼叫取消流程设计和实现](https://articles.zsxq.com/id_ehiqzri95tgg.html) * [《分布式IM系统》大后端平台-视频通话-第03节:视频通话呼叫失败流程设计和实现](https://articles.zsxq.com/id_jsdzpdbeiv01.html) diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index a9c72cb3..834bef2e 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -2561,6 +2561,7 @@ function getBarPeojectIM() { "platform/message/2024-01-27-chapter07.md", "platform/message/2024-01-28-chapter08.md", "platform/message/2024-01-29-chapter09.md", + "platform/message/2024-01-30-chapter10.md", ] }, { diff --git a/docs/md/all/all.md b/docs/md/all/all.md index 5a66c4a6..cf0cd6c3 100644 --- a/docs/md/all/all.md +++ b/docs/md/all/all.md @@ -320,6 +320,7 @@ title: 冰河指南 * [《分布式IM系统》大后端平台-消息服务-第07节:单聊消息的撤回流程设计和实现](https://articles.zsxq.com/id_0ar5kh5rbhjk.html) * [《分布式IM系统》大后端平台-消息服务-第08节:群聊消息的撤回流程设计和实现](https://articles.zsxq.com/id_21pu7ojtv7rw.html) * [《分布式IM系统》大后端平台-消息服务-第09节:图片、文件和语音消息的设计和实现](https://articles.zsxq.com/id_1f32q87wrs3h.html) +* [《分布式IM系统》大后端平台-消息服务-第10节:消息监听回调流程的设计和实现](https://articles.zsxq.com/id_ma4w7exlg1qk.html) * [《分布式IM系统》大后端平台-视频通话-第01节:视频通话呼叫发起流程设计和实现](https://articles.zsxq.com/id_pi8ww36ac0t3.html) * [《分布式IM系统》大后端平台-视频通话-第02节:视频通话呼叫取消流程设计和实现](https://articles.zsxq.com/id_ehiqzri95tgg.html) * [《分布式IM系统》大后端平台-视频通话-第03节:视频通话呼叫失败流程设计和实现](https://articles.zsxq.com/id_jsdzpdbeiv01.html) diff --git a/docs/md/other/guide-to-reading.md b/docs/md/other/guide-to-reading.md index 273efa68..d267eae5 100644 --- a/docs/md/other/guide-to-reading.md +++ b/docs/md/other/guide-to-reading.md @@ -297,6 +297,7 @@ title: 冰河指南 * [《分布式IM系统》大后端平台-消息服务-第07节:单聊消息的撤回流程设计和实现](https://articles.zsxq.com/id_0ar5kh5rbhjk.html) * [《分布式IM系统》大后端平台-消息服务-第08节:群聊消息的撤回流程设计和实现](https://articles.zsxq.com/id_21pu7ojtv7rw.html) * [《分布式IM系统》大后端平台-消息服务-第09节:图片、文件和语音消息的设计和实现](https://articles.zsxq.com/id_1f32q87wrs3h.html) +* [《分布式IM系统》大后端平台-消息服务-第10节:消息监听回调流程的设计和实现](https://articles.zsxq.com/id_ma4w7exlg1qk.html) * [《分布式IM系统》大后端平台-视频通话-第01节:视频通话呼叫发起流程设计和实现](https://articles.zsxq.com/id_pi8ww36ac0t3.html) * [《分布式IM系统》大后端平台-视频通话-第02节:视频通话呼叫取消流程设计和实现](https://articles.zsxq.com/id_ehiqzri95tgg.html) * [《分布式IM系统》大后端平台-视频通话-第03节:视频通话呼叫失败流程设计和实现](https://articles.zsxq.com/id_jsdzpdbeiv01.html) diff --git a/docs/md/project/im/platform/message/2024-01-30-chapter10.md b/docs/md/project/im/platform/message/2024-01-30-chapter10.md new file mode 100644 index 00000000..5a5635be --- /dev/null +++ b/docs/md/project/im/platform/message/2024-01-30-chapter10.md @@ -0,0 +1,50 @@ +--- +title: 第10节:消息监听回调流程的设计和实现 +pay: https://articles.zsxq.com/id_ma4w7exlg1qk.html +--- + +# 《分布式IM系统》大后端平台-消息服务-第10节:消息监听回调流程的设计和实现 + +作者:冰河 +
星球:[http://m6z.cn/6aeFbs](http://m6z.cn/6aeFbs) +
博客:[https://binghe.gitcode.host](https://binghe.gitcode.host) +
文章汇总:[https://binghe.gitcode.host/md/all/all.html](https://binghe.gitcode.host/md/all/all.html) +
源码获取地址:[https://t.zsxq.com/0dhvFs5oR](https://t.zsxq.com/0dhvFs5oR) + +> 沉淀,成长,突破,帮助他人,成就自我。 + +* 本节难度:★★☆☆☆ +* 本节重点:对消息微服务监听回调消息的流程进行设计和实现,从源码级别掌握消息监听回调的流程,重点理解消息监听回调流程在整个分布式IM即时通讯系统中的流转过程,结合自身实际项目思考,将本节学到的知识灵活应用到自身实际项目中。 + +**大家好,我是冰河~~** + +在即时通讯SDK中,当发送消息完毕后会通过广播机制将消息的发送结果广播出去,那这些广播的消息数据怎么接收呢?该怎么处理这些数据呢?如何让整个消息的监听和回调流程形成闭环呢? + +## 一、前言 + +在即时通讯SDK篇章的《[第04节:消息监听与广播机制的设计与实现](https://articles.zsxq.com/id_almw6i45p8ve.html)》一节中,我们对消息的监听与广播机制进行了设计和实现。并且在即时通讯SDK中,提供统一处理消息发送结果数据的数据模型、流程设计和具体实现,使得集成即时通讯SDK的大后端平台或者其他业务系统,无需关心发送消息后的结果数据的处理流程,只需要实现简单的监听器接口,即可根据自身业务需求来处理发送消息的结果数据模型。 + +那如何设计和实现具体的监听逻辑呢?本节,我们就来一起设计和实现消息监听回调的流程。 + +## 二、本节诉求 + +对消息微服务监听回调消息的流程进行设计和实现,从源码级别掌握消息监听回调的流程,重点理解消息监听回调流程在整个分布式IM即时通讯系统中的流转过程,结合自身实际项目思考,将本节学到的知识灵活应用到自身实际项目中。 + +## 三、流程设计 + +在整个分布式IM即时通讯系统中,即时通讯SDK统一封装和实现消息的广播和监听的核心框架逻辑,对外提供消息监听的接口,并在接口中提供处理消息发送结果数据模型的方法,由集成即时通讯SDK的大后端平台或者其他业务系统实现消息监听的具体业务逻辑,也就是大后端平台或者其他业务系统实现消息监听的接口,并在具体实现方法中接收到消息发送的结果数据模型,根据具体需要来处理相关的业务逻辑。 + +
+ +
+
+ +当即时通讯SDK发送消息并且需要回传结果数据时,会通过广播的方式来处理结果数据模型,同时,当即时通讯后端服务向用户终端发送消息后,会向消息中间件集群回传消息发送的结果数据,而即时通讯SDK接收到消息中间件集群中消息发送的结果数据,同样会通过广播的方式来处理结果数据模型,并且会在发送广播的方法中,调用监听器的方法来处理结果数据模型。 + +备注:上述描述来自:通讯SDK篇章的《[第04节:消息监听与广播机制的设计与实现](https://articles.zsxq.com/id_almw6i45p8ve.html)》一节。 + +接下来,我们就可以在消息微服务中实现具体的监听器,而不必关心即时通讯SDK中实现的具体逻辑。 + +## 查看完整文章 + +加入[冰河技术](http://m6z.cn/6aeFbs)知识星球,解锁完整技术文章与完整代码 \ No newline at end of file