BigPeng大鹏 项目介绍
约 869 字大约 3 分钟
BigPeng大鹏是基于抖音开源 CloudWeGo 生态的 Volo 框架开发的高性能微服务解决方案,全程使用Rust 语言实现,兼顾极致性能与内存安全。
项目简介
- 数据库结构:复用开源优秀 Java 微服务项目 ruoyi-cloud-plus,无缝对接成熟业务模型
- 高性能架构:采用 Volo-Thrift RPC + Pingora 网关 + Etcd 服务发现,打造高吞吐、低延迟的微服务体系
- 生产级能力:内置服务注册与发现、读写分离、分库分表、全链路监控、熔断降级等能力
- 安全合规:支持国密 SM2 加密、RSA256 签名,满足敏感数据加密与身份校验需求
当前架构特点
✅ 服务注册与发现 - 基于 Etcd 实现服务自动注册与动态发现
✅ 读写分离 - MySQL 主从复制,读写请求自动路由
✅ 分库分表 - 基于 Vitess 实现水平扩展,支持动态扩容
✅ 高可用容灾 - 自动故障转移,跨机房容灾能力
✅ 网关治理 - Pingora 网关实现限流、熔断、白名单等治理能力
✅ 全链路监控 - Prometheus + Grafana + Jaeger 完整监控体系
✅ 混合缓存 - 四层缓存架构(Moka + DragonflyDB + MySQL + RocksDB)
✅ 极致性能 - QPS 30W+,P99 延迟 0.05ms
核心优势
✅ 极致性能:Rust 静态编译+Volo 异步 RPC,4C 环境 Thrift 协议 QPS 达 350k+,P99 延迟<0.1ms
✅ 生态兼容:对接 Ruoyi-Cloud-Plust 前端生态(Vben5/Soybean),前后端无缝集成
✅ 生产就绪:内置 Docker 一键部署、服务发现、读写分离、分库分表、监控告警、链路追踪等全链路治理能力
✅ 安全合规:支持国密 SM2 加密、RSA256 签名,满足敏感数据加密与身份校验需求
✅ 易扩展:基于 Volo 中间件抽象层,服务发现、负载均衡等能力可灵活扩展
✅ 高可用架构:
- ✅ 服务自动注册与发现(Etcd)
- ✅ 数据库读写分离(Master-Slave)
- ✅ 数据库分库分表(Vitess)
- ✅ 自动故障转移(Failover)
- ✅ 跨机房容灾(Zone-A/Zone-B)
技术栈
| 领域 | 核心组件 | 特性说明 |
|---|---|---|
| RPC 框架 | Volo-Thrift/Volo-Http | 异步 RPC、IDL 驱动开发 |
| 网关 | Pingora(Cloudflare) | 高性能 Rust 反向代理,QPS 120w+ |
| 开发语言 | Rust | 内存安全、零成本抽象、高性能 |
| 数据库 | MySQL 8.0/PostgreSQL 15 | 适配 Rust 异步驱动 |
| 缓存 | DragonflyDB / Redis / Moka / RocksDB | 分布式缓存 30W+ QPS、本地缓存 100ns |
| ORM | SQLx+SeaORM | 编译期 SQL 校验、连接池复用 |
| 服务治理 | Etcd/OpenTelemetry/Jaeger/Prometheus | 服务发现、全链路追踪、监控告警 |
| 加密签名 | RustCrypto | 国密 SM2、RSA256 原生支持 |
| 部署运维 | Docker/K3s/GitHub Actions | 容器化、轻量编排、CI/CD |
项目结构
bigpeng/
├── bigpeng-auth/ # 认证鉴权服务(Volo-Thrift + Etcd 注册)
├── bigpeng-system/ # 系统管理服务(Volo-Thrift + Etcd 注册)
├── bigpeng-gateway/ # 网关业务层(Pingora + 服务发现)
├── bigpeng-common/ # 公共工具库(加密/签名/服务注册/健康检查)
├── bigpeng-config/ # 配置管理库(Etcd 集成)
├── bigpeng-file/ # 文件服务
├── bigpeng-job/ # 任务调度服务
├── docker-compose.yml # 核心中间件一键部署
├── pingora/ # Pingora 网关配置
└── mysql/ # 数据库配置快速开始
环境要求
- Rust 1.75+
- Docker & Docker Compose
- Git
启动步骤
# 1. 克隆代码
git clone https://gitee.com/danilox/bigpeng.git
cd bigpeng
# 2. 启动核心中间件
docker-compose up -d
# 3. 数据库设置
cd mysql
./create_databases.sh
# 4. 构建并启动服务
cd ../bigpeng-auth
cargo build --release
./target/release/bigpeng-auth详细文档请参考 README.md
