Skip to content

Hi!

约 506 个字 预计阅读时间 2 分钟

Self-Knowing
命运教不会你的东西,会一遍遍给你机会学会。

Slide project

编程语言: Go

技术栈:Gin、MySQL、Redis、Docker、JWT、Prometheus

基于 DDD 架构的高并发社交平台,实现用户注册、登录、文章发布与浏览、互动、热点榜单等功能

  • 用户管理:
    • 注册/登录,用户信息管理
    • OAuth2集成(微信登录)
  • 短信模块:
    • 手机验证码登录
    • 限流(ratelimit)和故障转移(failover)
  • 文章模块
    • 文章的创建与编辑,发表,删除,查询
    • 文章的三态模型「草稿库 → 编辑库 → 线上库」 与 五种状态的转换。
    • 缓存方面的优化
  • 榜单模块
    • 互动:点赞、收藏、评论
    • 采用定时任务计算 score,利用数据结构维护榜单

Source Documentation

编程语言:Go

技术栈: Go, Bitcask, 多级锁机制

核心基于 Bitcask 存储模型的 KV 存储引擎, 使用 Go 语言开发,旨在提供高吞吐量和低读写放大的持久化存储解决方案

  • 设计了抽象的内存索引接口,提供多种内存索引结构,高效、快速数据访问

  • 实现了数据的持久化,确保数据的可靠性和可恢复性

  • 采用锁机制来保证内存索引并发访问的安全性。为了提升高并发场景下的性能,内存索引 锁粒度优化

  • 实现了 Hint 文件内存映射加载技术,索引重建时间从 180s 优化至 18.2s

  • 实现了 WriteBatch 原子写,通过引入全局递增的序列号和事务完成标识,保证 数据一致性

  • 基准测试:进行了针对 Put、Get、Delete 等基本操作的基准测试,评估系统性能

Source

关于我 / 最近更新 / 朋友们! / 站点统计

页面总数:66
总字数:149680
代码块行数:2719


Last update: July 5, 2025
Created: November 19, 2023