当前位置: 首页 > news >正文

微服务项目文档

总体框架:

这是一个基于微服务架构的即时通讯(聊天)应用项目。它将一个复杂的系统拆分成了多个独立的服务模块,以实现高效、可扩展的社交和通讯功能。该项目的主要功能模块包括:

1、语音识别子服务

语音转换子服务,用于调用语音识别 SDK,进行语音识别,将语音转为文字后返回给网关。

2、好友管理子服务

好友管理子服务,主要用于管理好友相关的数据与操作,主要有以下接口:

1、好友列表的获取:

当用户登录成功之后,获取自己好友列表进行展示;

2、申请好友:

搜索用户之后,点击申请好友,向对方发送好友申请;

3、待处理申请的获取:

当用户登录成功之后,会获取离线的好友申请请求以待处理;

4、好友申请的处理:

针对收到的好友申请进行同意/拒绝的处理;

5、删除好友:

删除当前好友列表中的好友;

6、用户搜索:

可以进行用户的搜索用于申请好友;

7、聊天会话列表的获取:

每个单/多人聊天都有一个聊天会话,在登录成功后可以 获取聊天会话,查看历史的消息以及对方的各项信息;

8、多人聊天会话的创建:

单人聊天会话在对方同意好友时创建,而多人会话需要调 用该接口进行手动创建;

9、聊天成员列表的获取:

多人聊天会话中,可以点击查看群成员按钮,查看群成员信息;

3、消息转发子服务

用于针对一条消息内容,组织消息的 ID 以及各项所需要素,告诉网关服务器一条消息应该发给谁。 通常消息都是以聊天会话为基础进行发送的,根据会话找到它的所有成员,这就是转发的目标。除此之外,转发子服务将收到的消息,放入消息队列中,由消息存储管理子服务进行消费存储。

4、消息存储子服务

消息管理子服务,主要用于管理消息的存储:文本消息,储存在 ElasticSearch 文档搜索服务中。文件/语音/图片,需要转储到文件管理子服务中。 除了管理消息的存储,还需要管理消息的搜索获取。

1、消息队列中的消息进行存储:

2、获取历史消息:

获取最近 N 条消息:用于登录成功后,点击对方头像打开聊天框时显示最近 的消息

获取指定时间段内的消息:用户可以进行聊天消息的按时间搜索

3、消息搜索:

用户可以进行聊天消息的关键字搜索

5、文件存储子服务

文件管理子服务,主要用于管理用户的头像,以及消息中的文件存储。

1、文件上传:

收到文件消息后将文件数据 转发给文件子服务进行存储。

2、文件下载:

用于获取用户头像文件数据,以及客户端用于获取 文件/语音/图片 消息的文件数据。

6、用户管理子服务

用户管理子服务,主要用于管理用户的数据,以及关于用户信息的各项操作。

1、用户注册:

用户输入用户名(昵称),以及密码进行用户名的注册。

2、用户登录:

用户通过用户名和密码进行登录。

3、验证码获取:

当用户通过手机号注册或登录的时候,需要获取短信验证码。

4、手机号注册:

用户输入手机号和短信验证码进行手机号的用户注册。

5、手机号登录:

用户输入手机号和短信验证码进行手机号的用户登录。

6、用户信息获取:

当用户登录之后,获取个人信息进行展示。

7、头像修改:

8、昵称、签名、手机号修改:

http://www.dtcms.com/a/291353.html

相关文章:

  • ABeam News | 中野洋辅董事长专访:扎根上海二十载,做中日企业的卓越桥梁
  • 【人工智能99问】什么是教师强制?(16/99)
  • Spring Cache 扩展:Redis 批量操作优化方案与 BatchCache 自定义实现
  • 2130、链表最大孪生和
  • rsync报错解决
  • Shopify 知识点
  • 草木知音的认知进化:Deepoc具身智能如何让除草机读懂花园的呼吸
  • 设备监控之数据处理(1)-概述
  • MQ 核心知识点笔记
  • Android开发中卡顿治理方案
  • 用基础模型构建应用(第十章)AI Engineering: Building Applications with Foundation Models学习笔记
  • 如何用纯 HTML 文件实现 Vue.js 应用,并通过 CDN 引入 Element UI
  • 【PHP 流程控制完全指南】
  • 多端适配灾难现场:可视化界面在PC/平板/大屏端的响应式布局实战
  • .NET依赖注入IOC你了解吗?
  • 开发避坑短篇(3):解决@vitejs plugin-vue@5.0.5对Vite^5.0.0的依赖冲突
  • 万界星空科技锂电池MES解决方案
  • Shell判断结构
  • voice模块
  • 【图论】CF——B. Chamber of Secrets (0-1BFS)
  • 标准文件I/O补充知识
  • paddleocr安装,数据集制作,训练自己的模型,调用训练好的模型
  • 20250721-day19
  • 【PTA数据结构 | C语言版】双连通分量
  • C# 实现:动态规划解决 0/1 背包问题
  • nextjs编程式跳转
  • 《小白学习产品经理》第七章:方法论之波特五力模型
  • springcloud -- 微服务02
  • Iridium Certus 9704 卫星物联网开发套件
  • cuda编程笔记(9)--使用 Shared Memory 实现 tiled GEMM