# Revoke
[](https://crates.io/crates/revoke)
[](https://docs.rs/revoke)
[](https://opensource.org/licenses/MIT)
[](https://www.rust-lang.org)
基于 Rust 构建的高性能云原生微服务框架,提供完整的 API 网关和微服务开发工具链。
## 🚀 快速开始
```bash
# 添加到您的项目
cargo add revoke
```
或在 `Cargo.toml` 中添加:
```toml
[dependencies]
revoke = { version = "0.2", features = ["web", "config", "registry"] }
```
```rust
use revoke::prelude::*;
use revoke::web::{create_app, AppState};
#[tokio::main]
async fn main() -> Result<()> {
// 创建应用状态
let app_state = AppState::new(
"my-service".to_string(),
"1.0.0".to_string(),
);
// 创建并启动应用
let app = create_app(app_state);
let listener = tokio::net::TcpListener::bind("0.0.0.0:8080").await?;
axum::serve(listener, app).await?;
Ok(())
}
```
## ✨ 核心特性
- 🔥 **高性能** - 基于 Pingora 的高吞吐量 API 网关
- ⚖️ **负载均衡** - 多种负载均衡策略
- 🔍 **服务发现** - Consul 集成
- 🔐 **安全性** - JWT、OAuth2、限流、熔断
- 📊 **可观测性** - Prometheus、OpenTelemetry 追踪
- 🐳 **云原生** - Docker 和 Kubernetes 支持
## 📦 模块
- **core** - 核心抽象和工具
- **gateway** - 高性能 API 网关
- **web** - Web 服务框架
- **config** - 配置管理
- **metrics** - 指标收集
- **tracing** - 分布式追踪
- **registry** - 服务注册发现
- **log** - 结构化日志
## 📚 文档
- **[快速入门](./docs/getting-started.md)** - 5分钟上手
- **[配置指南](./docs/configuration.md)** - 配置参考
- **[API 文档](https://docs.rs/revoke)** - 完整 API 文档
- **[示例代码](./examples/)** - 实际使用示例
## 🏗️ 项目结构
```
src/
├── core/ # 核心抽象和工具
├── gateway/ # API 网关实现
├── web/ # Web 框架
├── config/ # 配置管理
├── metrics/ # 指标收集
├── tracing/ # 分布式追踪
├── registry/ # 服务发现
└── log/ # 日志系统
```
## 💡 示例
查看 [`examples/`](./examples/) 目录了解完整的使用示例:
- **tracing-example** - 分布式追踪示例
- **users-service** - 用户管理微服务
- **orders-service** - 订单管理微服务
## 🤝 贡献
欢迎贡献!请查看我们的[贡献指南](./docs/contributing.md)。
## 📄 许可证
本项目采用 MIT 许可证 - 详情请参阅 [LICENSE](./LICENSE) 文件。