
2022.8 - 2023.2 工作梳理
工作罗列
简略:
代码重构 - im优化
频道权限
成员列表 - 百万级优化重构
缓存优化
任务中心
百科
通用竞猜
通用导出功能
项目架构
说明:
web端、ios、android端
wiki: 提供百科功能
user: 用户管理服务
moment: 帖子服务
im-logic: 聊天服务、频道、房间、权限服务
message-center: 系统消息中心
msg-callback: 消息回调服务
系统
详情
代码重构-im优化
频道管理
房间管理
权限管理
用户管理
模块拆解
频道权限
内容:
频道权限
房间权限
用户权限
身份组权限
权限设计:
权限列表:
权限概览:
房间权限设计:
权限校验
成员列表
说明:
用户信息
用户徽章
用户身份组
用户第一身份组
身份组排序
身份组是动态增加的
用户在线状态
搜索用户
成员列表缓存设计:
身份组 - 对应人数(每个身份组有多少人进行缓存、用来进行翻页的时候切换不同的身份组)
身份组 - 权重排序(不同身份组可以自定义weight,权重高的可以排在前面)
身份组 - 用户ID管理(不同频道、不同身份组用户ID列表管理 ZSet, 在线的根据时间排在前面)
用户信息缓存
用户第一身份组缓存(Hash 缓存、用来缓存用户第一身份组、因为是有变化规则的,而且用户归属在哪个身份组列表需要第一身份组来确定)
成员列表拉取的时候需要区分,成员只需要出现在第一身份组内即可
场景:
拉取成员列表: 获取身份组排序、获取身份组用户数量、对身份组用户数量按照身份组顺序排序、查询身份组用户Id列表;涉及翻页、跨身份组处理;根据ID列表获取用户列表数据、获取身份组数据
搜索用户:数据库搜索,处理用户第一身份组、频道信息、身份组信息、用户信息;显示即可
缓存优化
任务中心
架构设计
百科
通用竞猜
通用导出功能
分布式导出系统
代码提交和管理流程
总结
获得
DDD实战
社区项目实战、频道、房间、权限以及上百万级用户列表设计
高并发、瞬时流量解决方案积累
进一步提升工程化思想、重构能力
项目由最初不稳定到能支持几十万用户、几万用户在线、瞬时几万请求稳定运行
完整的掌握和了解了社区微服务架构产品的运行流程和开发流程
本文是原创文章,采用 CC BY-NC-ND 4.0 协议,完整转载请注明来自 程序员小航
评论
匿名评论
隐私政策
你无需删除空行,直接评论以获取最佳展示效果