# mini-redbook **Repository Path**: EEPPEE_admin/mini-redbook ## Basic Information - **Project Name**: mini-redbook - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-13 - **Last Updated**: 2026-09-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # mini_redbook 后端 一个面向“小红书风格社区 + 电商 + 视频 + 即时消息”的 Go 后端项目。 本 README 仅介绍后端,不包含前端说明。 ## 项目简介 mini_redbook 是一个以真实业务场景为目标的后端练习项目。项目将内容社区、互动关系、商城交易、视频能力与 IM 场景整合在同一套服务中,重点关注“功能完整性 + 工程化能力 + 可扩展性”。 和单一 CRUD Demo 不同,这个项目除了基础接口,还覆盖了缓存、消息队列、异步任务、限流降级、可观测性、以及多模块协同等偏真实生产的要素。 ## 核心能力 - 社区内容:发帖、评论、点赞、收藏、关注、个人主页、信息流 - 商城链路:商品、购物车、下单、支付状态流转、退款、评价、浏览历史 - 视频能力:分片上传、转码任务、播放信息、弹幕、视频互动 - 即时消息:会话、消息收发、已读同步、群组能力(含管理操作) - 工程保障:限流、缓存、异步解耦、指标监控、链路追踪 ## 架构概览 项目采用分层与多进程协作的后端结构: - API 服务:负责 HTTP 接口、鉴权、参数校验、业务编排 - Kafka 消费者:处理点赞/收藏/关注等异步事件落库 - 转码 Worker:消费视频转码任务,执行 FFmpeg 并写回结果 数据与基础设施: - MySQL:核心业务数据持久化 - Redis:计数、缓存、限流、时间线等高频读写场景 - Kafka:业务事件解耦、异步削峰 - MinIO:媒体对象存储 ## 技术栈 - Go 1.25+ - Gin - GORM + MySQL - Redis - Kafka (segmentio/kafka-go) - MinIO - Prometheus + OpenTelemetry ## 目录设计 ```text cmd/ server/ API 服务入口 consumer/ 异步消费者入口 transcoder/ 视频转码入口 internal/ handler/ HTTP 层 service/ 业务层 repository/ 数据访问层(MySQL/Redis) model/ 数据模型 mq/ Kafka 生产/消费逻辑 scheduler/ 定时与后台任务 pkg/ database/ MySQL/Redis 初始化 config/ 配置加载 metrics/ 指标采集 tracing/ 链路追踪 storage/ 对象存储能力 ffmpeg/ 媒体处理封装 configs/ config.yaml 后端配置 ``` ## 项目亮点 - 业务面覆盖广:社区、电商、视频、IM 统一在一个后端内 - 同步 + 异步协同:通过 Kafka 分离核心链路与非关键耗时操作 - 缓存友好设计:热点与计数类场景优先走 Redis,降低数据库压力 - 可观测性完善:具备健康检查、指标、追踪能力,便于排障与优化 - 结构清晰:按 handler/service/repository 分层,便于演进与团队协作 ## 当前状态 项目处于可持续扩展阶段,已具备从接口层到异步处理、从数据层到运维观测的完整后端骨架,可继续向高并发、稳定性和业务深度方向迭代。 ## 补充说明 如需运行,请参考配置文件 [configs/config.yaml](configs/config.yaml) 与基础设施编排文件 [docker-compose.yml](docker-compose.yml)。