代码拉取完成,页面将自动刷新
消息中台系统
本项目是对 https://github.com/dpwgc/fast-im 项目的重构 (由 MVC 架构转为 DDD + CQRS 架构)
部署架构图 IMC通讯中台可连接多个不同即时通讯应用的服务网关,网关集群按即时通讯应用的appId进行分类(来自appId:1的消息不会广播给appId:2的网关),可以部署多个IMC通讯中台,所有中台连接到同一个Redis和MariaDB源,每个中台连接任意数量的网关(自行分配)。
消息发送与撤回流程 用户在APP端或者Web端发出消息,消息传入网关(用户端与网关请自行实现,本项目主要关注网关与中台的连接)。 网关再通过WebSocket连接将消息传入IMC通讯中台(连接方式见文档WS.md)。 中台将消息写入Redis Stream消息队列,然后再通过Redis Pub/Sub广播消息给所有持有相同appId的IMC通讯中台节点。 各个IMC通讯中台节点收到广播发来的消息后,再把这个消息推送给与自己连接的网关。 各个网关收到IMC通讯中台推送的消息后,再将消息推送给用户(该步骤自行实现)。
存放一些ui层要用到的实体类(例如DTO对象、Command对象)
用户接口层(表示层,包括接口服务及配置服务)
应用层(对下层传来的对象进行业务处理,再传给上层)
领域层(负责组装基础服务层传来的数据对象)
基础服务层(包括数据库交互、缓存交互以及一些工具类)
写入服务
查询服务
聊天模块
聊天消息服务
通知模块
通知信息服务
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。