仿小红书社区项目,主要包括笔记发布、点赞、收藏、关注等功能。平台需要满足海量用户的高并发读写和数据一致性要求,确保用户操作的实时响应,并通过分布式架构实现高可用和高扩展性。
| 工具名称 | 说明 | 官网地址 |
|---|---|---|
| IDEA | 开发编辑器 | https://www.jetbrains.com/idea/ |
| VMware Workstation | 虚拟机 | https://www.vmware.com/ |
| X-shell | ssh远程链连接工具 | https://www.xshell.com/zh/xshell/ |
| Xftp | 可视化上传文件 | https://www.xshell.com/zh/xftp/ |
| Navicat | 可视化数据库 | https://www.navicat.com.cn/ |
| Postman | Api接口调试工具 | https://www.postman.com/ |
| RedisDesktop | Redis客户端连接工具 | https://goanother.com/cn/ |
| Docker Desktop | docker可视化 | https://www.docker.com/products/docker-desktop/ |
| Visual Studio Code | 编辑器 | https://code.visualstudio.com/ |
| Snipaste | 屏幕截图工具 | https://www.snipaste.com/ |
| Typora | Markdown编辑器 | https://typora.io/ |
| Presson | 流程图 | https://www.processon.com/ |
| drawio | 流程图 | https://www.drawio.com/ |
| 技术 | 版本 | 说明 | 官网地址 |
|---|---|---|---|
| Node.js | 22.14.0 | 服务端的 JavaScript | https://nodejs.org/zh-cn |
| Vue | 3.5.13 | 前端框架 | https://vuejs.org/ |
| Vue-router | 4.5.0 | 路由框架 | https://router.vuejs.org/ |
| vite | 6.1.0 | 前端构建工具 | https://vite.dev/ |
|---xiaohongshu
|---xiaohonghsu-user-relation -- 用户关系模块
| |---xiaohongshu-user-relation-api -- 用户关系,RPC层,供其他服务调用
| |---xiaohongshu-user-relation-biz -- 用户关系业务模块
|---xiaohongshu-auth -- 用户认证模块
|---xiaohongshu-comment -- 评论模块
| |---xiaohongshu-comment-api -- 评论,RPC层,供其他服务调用
| |---xiaohongshu-comment-biz -- 评论业务模块
|---xiaohongshu-count -- 计数模块
| |---xiaohongshu-count-api -- 计数,RPC层,供其他服务调用
| |---xiaohongshu-count-biz -- 计数业务模块
|---xiaohongshu-data-align -- 数据对齐模块
|---xiaohongshu-distributed-id-generator -- 分布式Id模块
| |---xiaohongshu-distributed-id-generator-api -- 分布式Id生成,RPC层,供其他服务调用
| |---xiaohongshu-distributed-id-generator-biz -- 分布式Id生成业务模块
|---xiaohongshu-framework -- 平台基础设施层模块-封装一些常用功能,供各个业务线拿来即用
| |---xiaohongshu-common -- 平台通用模块,如一些通用枚举、工具类
| |---xiaohongshu-spring-boot-starter-biz-context -- 上下文组件
| |---xiaohongshu-spring-boot-starter-biz-operationlog -- 接口日志文件
| |---xiaohongshu-spring-boot-starter-jackson -- 自定义 Jackson 配置
|---xiaohongshu-gateway -- 网关模块
|---xiaohongshu-kv -- KV 键值模块
| |---xiaohongshu-kv-api -- KV,RPC层,供其他服务调用
| |---xiaohongshu-kv-biz -- KV业务模块
|---xiaohongshu-note -- 笔记模块
| |---xiaohongshu-note-api -- 笔记,RPC层,供其他服务调用
| |---xiaohongshu-note-biz -- 笔记业务模块
|---xiaohongshu-oss -- 对象存储模块
| |---xiaohongshu-oss-api -- 对象存储,RPC层,供其他服务调用
| |---xiaohongshu-oss-biz -- 对象存储业务模块
|---xiaohongshu-search -- 搜索模块
| |---xiaohonghsu-search-api -- 搜索,RPC层,供其他服务调用
| |---xiaohongshu-search-biz -- 搜索业务模块
|---xiaohongshu-user -- 用户模块
|---xiaohongshu-user-api -- 用户,RPC层,供其他服务调用
|---xiaohongshu-user-biz -- 用户业务模块搜索服务
- 评论发布异步发送
MQ写入数据库,若失败重试多次则MQ消息写入数据库,将通过定时任务扫表,将发送失败的MQ再次发送,最终发送成功后,将该记录物理删除; - 评论分页查询和子评论分页查询中,使用
CompletableFuture并发执行调用kv服务获得评论内容,用户服务获得用户信息; - 一级评论的首次评论更新逻辑;
Redis的ZSet一级评论的热度值更新逻辑;
- 笔记点赞、取消点赞改为批量写库;
- 笔记收藏、取消收藏改为批量写库;
- 笔记删除接口,需添加删除笔记详情的逻辑代码;
- 查询粉丝列表接口,RPC调用计数服务获取当前用户对应的笔记数和粉丝数后,需修改为批量写入Redis缓存;
- 用户注册,采用编程式事务保证用户表和角色表数据一致性;
- 用户关注取关修改为批量写库
- 采用
docker构建镜像并部署于云服务器