小微书
项目介绍:
2025年03月
小微书是一个尝试模仿小红书的应用,包含有帖子,点赞,评论,收藏,聊天,榜单等基本功能,项目采用微服务架构,并且对高并发,高可
用,高性能进行全方位思考和实践,并且接入日志监控和链路追踪。
主要工作内容:
项目采用微服务架构,支持帖子发布、评论、聊天、收藏、点赞等社交功能
编写用户登录、发帖、点赞等核心业务逻辑,使用 Gin + Gorm 实现接口开发与数据库操作
集成基于 Redis + Lua 脚本的滑动窗口限流方案,用于控制接口访问频率;并通过调研限流算法深入理解滑动窗口机制,提高系统抗压能
力
编写 Dockerfile,使用 Docker 容器部署服务,并通过 K8s 管理 Redis/MySQL/Nginx 集群,支持自动扩容
编写单元测试和压力测试脚本,验证系统在高并发下的稳定性
技术栈:Go、Gin、Redis、MySQL、Docker、Gorm、Git,k8s.
Gee Web框架
2025年02月 - 2025年03月
项目介绍:
Gee 是一个使用 Go 语言从零实现的轻量级 Web 框架,参考了 Gin 的设计思想,旨在深入理解 Go 语言在 Web 开发中的底层原理和设计模
式。框架具备路由注册、分组控制、中间件机制、HTML 模板渲染、错误恢复处理等核心功能,适用于构建小型 Web 应用。
主要工作内容:
设计并实现符合 http.Handler 接口的核心引擎,支持高效处理 HTTP 请求。
实现 Context 对象以封装请求/响应,提高中间件与路由处理器的可读性与可扩展性。
使用 Trie 树结构构建动态路由匹配系统,支持 URL 参数与通配符匹配。
实现基于前缀的路由分组机制,简化模块化路由管理。
设计中间件机制,支持链式调用,实现日志记录等功能。
实现 panic 恢复机制,避免服务因异常崩溃,提高系统健壮性。
技术栈: Go、Gin(对比学习)