姓名用户密码写入mysql/判断用户是否存在
redis服务器登录数量加1
查找用户
登录
主线程ioc初始化
grpc服务端返回服务器地址和token
mysql加载邀请列表
mysql增加账本邀请
MySQL
redis/mysql查找用户信息
mysql新建账本
redis
redis查询对方好友所在服务器
接受邀请
mysql判断用户名和邮箱是否匹配
(默认前端已经发送了验证码)redis核对验证码
mysql插入账本成员
不在本机则grpc调用对端发送好友邀请通知
读完后工作线程回调处理请求(判断是否合法/注册读消息体请求
发送消息
在本机则直接session发送消息通知
grpc服务端返回对比结果
mysql检查用户权限
有连接到来则取一个asio工作线程(io_context),将他们绑定
不在本机则grpc调用对端发送消息通知
grpc找到合适的服务器连接
ioc阻塞,等待接收完成
mysql插入一条账务
mysql加载交易流水
CServer实例化对象s绑定到ioc/提交异步接收
redis查询邀请好友所在服务器
异步写完成后io_context处理回调,关闭连接
创建账本
发送验证码
mysql验证邮箱密码
根据请求不同,打包任务交给逻辑线程处理
redis绑定用户所在的服务器
mysql获取账本成员
grpc认证token
读完后io_context回调处理请求
连接向io_context注册异步写
redis/mysql加载用户信息
mysql在账本中添加成员
mysql更改账本预算
redis设置token
验证码grpc客户端调用函数
mysql更新密码
grpc服务端处理请求/redis存放验证码
连接向工作线程注册异步读头部
mysql改变邀请状态
记账
核对密码和确认密码是否相同
注册
读完后工作线程回调处理请求(用读到的数据构造消息节点,投递到逻辑线程的消息队列
不在本机则grpc调用对端发送邀请申请通知
连接向io_context注册异步读
设置账本预算
不在本机则grpc调用对端发送记账通知
密码重置
redis中查找验证码/核对验证码
mysql加载用户的账本
在本机则直接session发送记账通知
启动gRPC服务
redis将登录数量设置为0
在本机则直接session发送好友邀请通知
在本机则直接session发送邀请申请通知
邀请加入账本