Files
weiyu/modules/service/readme.zh.message.md
2024-12-12 10:57:29 +08:00

2.2 KiB

消息管理模块详细设计

1. 实时消息收发

1.1 消息通道

  • WebSocket长连接
  • HTTP轮询备选
  • Server-Sent Events
  • Signal协议加密通道
  • 消息推送通道(APP)

1.2 消息处理流程

  • 消息发送确认(ACK)
  • 消息送达回执
  • 消息读取状态
  • 消息重发机制
  • 消息排序处理
  • 消息限流控制

2. 消息类型支持

2.1 基础消息类型

  • 文本消息

    • 纯文本
    • 富文本
    • Markdown
    • 表情/贴纸
  • 媒体消息

    • 图片(JPG/PNG/GIF)
    • 语音(MP3/WAV)
    • 视频(MP4)
    • 文件(PDF/DOC等)

2.2 特殊消息类型

  • 系统消息

    • 会话状态变更
    • 客服转接通知
    • 评价邀请
    • 排队提醒
  • 交互消息

    • 商品卡片
    • 订单信息
    • 支付链接
    • 位置信息
    • 快捷回复
    • 满意度评价

3. 消息存储

3.1 存储架构

  • 分布式消息队列
  • 实时数据库
  • 对象存储(媒体文件)
  • 时序数据库
  • 冷热数据分离

3.2 存储策略

  • 消息分片存储
  • 多副本备份
  • 压缩加密
  • 定期归档
  • 分级存储
  • 容灾备份

4. 消息撤回

4.1 撤回规则

  • 时间限制(如2分钟内)
  • 权限控制
  • 撤回次数限制
  • 特殊消息限制
  • 双向撤回

4.2 撤回处理

  • 消息标记
  • 历史记录保留
  • 撤回通知
  • 客户端同步
  • 离线处理
  • 撤回失败处理

5. 敏感词过滤

5.1 过滤机制

  • 关键词匹配
  • 正则表达式
  • 语义分析
  • 机器学习模型
  • 图片OCR识别
  • 声纹识别

5.2 处理策略

  • 实时拦截
  • 替换屏蔽
  • 警告提醒
  • 人工审核
  • 账号惩罚
  • 日志记录

6. 消息记录查询

6.1 查询功能

  • 多维度检索

    • 时间范围
    • 会话ID
    • 消息类型
    • 关键词
    • 参与者
  • 高级过滤

    • 消息状态
    • 敏感级别
    • 已读未读
    • 是否撤回
    • 是否加密

6.2 查询优化

  • 索引优化
  • 缓存策略
  • 分页加载
  • 预加载
  • 增量同步
  • 导出备份

关键技术要点

实时性保证 WebSocket集群 消息队列 分布式缓存 可靠性保证 消息持久化 ACK机制 失败重试 安全性保证 端到端加密 敏感词过滤 访问控制 4. 性能保证 分库分表 读写分离 索引优化