微服务项目文档

发布于:2025-07-22 ⋅ 阅读:(17) ⋅ 点赞:(0)

总体框架:

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

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、昵称、签名、手机号修改:


网站公告

今日签到

点亮在社区的每一天
去签到