# 《分布式IM系统》大后端平台-通用模型-第01节:领域层对象模型的设计与实现

作者:冰河
星球: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/157EcdjhX (opens new window)

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

  • 本节难度:★★☆☆☆
  • 本节重点:对分布式IM即时通讯系统的领域层模型进行设计和实现,实现领域层的对象模型和消息类型与流转状态,为具体的业务开发做准备。
  • 课程视频:https://t.zsxq.com/157EcdjhX (opens new window)

大家好,我是冰河~~

大后端平台是整个分布式IM即时通讯系统的核心业务服务,主要负责整个分布式IM即时通讯系统的业务功能,例如,用户管理、好友管理、群组管理、群成员管理、离线消息与历史消息的拉取等。

# 一、前言

大后端平台是整个分布式IM即时通讯系统的核心业务系统之一,负责着整个分布式IM即时通讯系统的业务功能。在大后端中,我们需要实现用户管理、好友管理、群组管理、群成员管理、离线消息与历史消息的拉取等功能,并且还要预防高并发大流量的场景对系统的冲击。

在设计和研发大后端平台的过程中,我们也是从领域层的对象模型入手,先对领域层的对象模型、消息的类型与流转状态进行设计和实现。

# 二、本节诉求

对大后端平台中领域层的对象模型、消息类型和流转状态进行设计和实现,整体掌握领域层中对象模型之间的关系,消息的类型与流转状态,结合需求设计篇章的《第04节:分布式IM即时通讯系统技术流程梳理》 (opens new window)、即时通讯SDK篇章的《第01节:发送单聊消息的流程设计与实现》 (opens new window)《第02节:发送群聊消息的流程设计与实现》 (opens new window)的内容,总体思考单聊消息与群聊消息在用户终端、大后端平台、即时通讯SDK、消息中间件集群、即时通讯后端服务之间的交互流程与流转状态。

# 三、模型设计

在大后端平台领域层的对象模型中,主要涉及到用户模型、好友模型、群组模型、组成员模型、单聊消息模型和群聊消息模型,整体模型关系如图1-1所示。


可以看到,领域层的对象模型之间的关联关系还是比较简单的,所有的对象模型都会与用户对象模型关联。单聊消息对象模型除了与用户对象模型关联外,也会与好友对象模型关联。群成员对象模型和群聊消息对象模型除了与用户对象模型关联外,也会与群组对象模型进行关联。

# 四、编码实现

在具体的编码实现中,除了要实现对象模型外,还要实现消息的类型和流转状态等。

# 查看完整文章

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